|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
Hilfe bei Perl-Skript
|
Seitenanfang |
Hallo, ich versuche mich gerade frisch an Perl (leider keinerlei Erfahrungen) und habe folgende Aufgabe, wo ich nicht weiterkomme : Mithilfe des Moduls Tk soll ein Perl-Skript mit grafischer Oberfläche erstellt werden, welches die Möglichkeit bietet, eine Ausgangsdatei im Textformat (.txt) zu spezifizieren. Der User muss außerdem den Name einer Ausgabedatei selbst festlegen können. Durch das Anklicken eines Buttons soll das Skript die bestehende Datei einlesen und jeweils an der ersten Stelle einer Zeile eine fortlaufende Zeilennummer einfügen. Außerdem müssen die festgelegte Ausgabedatei generiert und der Ergebnistext in diese Datei ausgegeben werden, wobei über die grafische Oberfläche (Listbox) die erfolgreiche Ausführung angezeigt werden soll.Folgenden Code habe ich bereits, aber ich komme nicht mehr weiter... Vielen Dank für Hilfe im Voraus #!/usr/bin/perl -wuse strict;use Tk;my $haupt = new MainWindow;my $links = $haupt -> Frame();$links -> Label (-text => "Geben Sie Ihren Text ein:") -> pack();my $text = $links -> Entry();$text -> pack();my $input="noname.txt";my $schalter = $links -> Button (-text => "speichern", -command => \&save) -> pack();my $datei = $links -> Entry();$datei -> pack();my $schalter2 = $links -> Button (-text => "Beenden", -command => [$haupt => 'destroy']) -> pack(-pady => "20");my $rechts = $haupt -> Frame();$rechts -> Label (text => "Textausgabe;") -> pack();my $daten = $rechts -> Listbox();$daten -> pack();$links -> pack (-side => "left");$rechts -> pack (-side => "right");MainLoop();sub save{ my $tw=$haupt->Toplevel(-title => 'Speichern'); $tw->Label(-text => "Speichern : $input")->pack; my $in=$tw->Entry(-textvariable => \$input)->pack; print $input , "\n"; $in->bind('<Return>', [\&write, $tw]);}#Speichern der Eingabesub write{ my $text = $text->get("1.0", "end"); CORE::open (IFILE, "+< $input") or die "can't open $input\n"; print IFILE $text; close(IFILE); $_[1]->destroy;}sub lesen(); my $file = 'Zu öffnende Datei'; my $main = MainWindow->new(); my $listbox = $main->Listbox(); my $edit = $main->Entry(-textvariable => \$file); my $button = $main->Button(-text => 'Öffnen', -command => \&lesen);$listbox->pack();$edit->pack();$button->pack();MainLoop(); sub lesen() { $listbox->delete(0, 'end'); open(my $fh, $file) || die $!; while (defined(my $line = <$fh>)) { chomp $line; $listbox->insert('end', $. . ' ' . $line); } close($fh);}
Datum: 26.02.2009-15:18

|
re: Hilfe bei Perl-Skript
|
Seitenanfang |
| Mmhhh... Wenn das Wiki bei Perl-Community.de wieder erreichbar ist, solltest Du dort mal stöbern. Dort ist genau diese Aufgabe schon behandelt worden... Scheint wohl eine beliebte Hausaufgabe zu sein ;-)
Datum: 28.02.2009-11:59

|
re: Hilfe bei Perl-Skript
|
Seitenanfang |
Hallo, bist du bei der Aufgabe schon weiter gekommen? Hänge auch total fest, hab leider keinen Schimmer.
Datum: 08.03.2009-22:17

|
|

|

|

|
 |

|

|
|