Thread Textdatei einlesen, ändern, neue erstellen: open (DATEI, "text.txt")
(30 answers)
Opened by Gast at 2003-09-16 00:10
Hallo zusammen,
ich versuche mich momentan an der Perl-Programmierung. Meine Aufgabe ist ebenfalls mithilfe von TK eine Text-Datei einzulesen, eine Zeilennummerierung durchzuführen und danach den nummerierten Text in eine neue Datei abzuspeichern. Ich habe den Code dieses Threads größtenteils übernommen, jedoch bekomme ich immer wieder diese Fehlermeldung, wenn ich die Namen der Ursprungsdatei + Zieldatei eingebe: Code: (dl
)
1 Tk::Error: Die Datei kann nicht geoeffnet werden! Hier mein Code: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 #!"C:\ActivePerl\bin\perl.exe" use strict; use warnings; use Tk; my @text; my $haupt = new MainWindow; my $links = $haupt ->Frame(); $links->Label(-text => "\nBitte Dateinamen der Ursprungsdatei eingeben, Pfad beachten!: \n")->pack(); my $ursprungsdateiname = $links->Entry(); $ursprungsdateiname->pack(); $links->Label(-text => "\nBitte Dateinamen der Zielsdatei eingeben, Pfad beachten!: \n")->pack(); my $zieldateiname = $links->Entry(); $zieldateiname->pack(); my $schalter = $links->Button(-text => "Einlesen und durchnummerieren", -command => [\&nummerierung] )->pack(); my $schalter2 = $links->Button(-text => "Beenden", -command => [$haupt => 'destroy'] )->pack(-pady => "20"); my $rechts = $haupt ->Frame(); $rechts->Label(-text => "Ergebnis:")->pack(); my $ergebnis = $rechts->Listbox(); $ergebnis->pack(); $links ->pack (-side =>"left"); $rechts ->pack (-side => "right"); MainLoop(); sub nummerierung { #Array für Text aus Datei# my @text; #Ursprungsdatei öffnen# my $input = $ursprungsdateiname->get; open (DATEI, "<$input") or die "Die Datei kann nicht geoeffnet werden!\n"; #Dateiinhalt in Array einlesen# while ( <DATEI> ) { push @text, $_; } #Zieldatei öffnen# my $output = $zieldateiname->get; open (DATEINEU, ">$output") or die "Die neue Datei kann nicht geoeffnet werden!\n"; #Textarray zeilenweise durchlaufen und Zeilennummerierungen in neue Datei schreiben# my $zeile =0; foreach ( @text ){ print DATEINEU "$zeile $_"; $zeile++; } #Dateien schliessen# close (DATEI); close (DATEINEU); $ergebnis->insert('end', "Zeilennummerierung erfolgreich ausgeführt."); } Ich bin echt am verzweifeln, weil ich mit dieser Fehlermeldung nichts anfangen kann :( Vielen Dank schonmal für eure Hilfe! Liebe Grüße Saskia Last edited: 2014-12-11 19:36:58 +0100 (CET) |