thomas: Datei mit TK-Modul einlesen

Beitrag lesen

@Christoph

Nein, das ganze soll nicht über eine Netzwerkverbindung laufen, sondern lediglich durch Aufruf in der Konsole. Habe es nach langem hin- und her dann doch noch hinbekommen :-)
Man tut sich halt recht schwer als Anfänger. Hab hier nochmal den kompletten, funktionierenden Code gepostet, falls es jemanden interessieren sollte:

#!e:/perl/Perl/bin/perl -w

use strict;
use Tk;
my $haupt = new MainWindow;

einlesen

my $links = $haupt->Frame();
$links->Label(-text => "Ausgangsdatei:")->pack();
my $eingang=$links->Entry();
$eingang->pack();

schreiben

$links->Label(-text => "Ausgabedatei:")->pack();
my $ausgang=$links->Entry();
$ausgang->pack();

my $schalter=$links->Button(-text => "ausfuehren",
              -command => &einlesen
              )->pack(-pady => "20");

Beenden

my $schalter2=$links->Button(-text => "beenden",
               -command => [$haupt=>'destroy']
               )->pack(-pady => "40");

Listbox

my $rechts = $haupt->Frame();
$rechts->Label(-text => "Meldung:")->pack();
my $meldung = $rechts -> Listbox();
$meldung -> pack();

Ausrichtung

$links->pack(-side=>"left");
$rechts->pack(-side => "right", -side =>"top", -padx=>"50");

MainLoop();

sub einlesen {

my $nummer = 0;
my $eingang_sub = $eingang -> get;
my $ausgang_sub = $ausgang -> get;

open (EINGANG, "< $eingang_sub");
open (AUSGANG, "> $ausgang_sub");

while (my $zeile=<EINGANG>){
$nummer++;
my $zeile_mit_nummer = $nummer." ".$zeile;
print AUSGANG $zeile_mit_nummer;
}

close(EINGANG);
close(AUSGANG);

$meldung->insert('end', "Ausfuehrung erfolgreich.");
}

Danke für Deine Hilfe.

Gruß aus dem Westerwald nach Berlin.

Thomas