Nach dem, was Dein Tutor gesagt hat, reicht so etwas:
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
#! /usr/bin/perl
use strict;
use warnings;
use Tk;
my ($input,$output);
my $mw = MainWindow->new();
$mw->Entry(-textvariable => \$input)->pack(); # Eingabefeld für Pfad der einzulesenden Datei
$mw->Entry(-textvariable => \$output)->pack();# Eingabefeld für Pfad, wo gespeichert werden soll
$mw->Button(-command => \&save, -text => 'Speichern')->pack(); # "Speichern"-Button
my $list = $mw->ScrlListbox()->pack(); # Listbox für Ausgabe, ob Speichern erfolgreich war
MainLoop;
# Methode zum einlesen und speichern
sub save{
my $counter = 1; # Counter für Zeilennummer
open(R_TXT,"<$input") or die $!; # Datei zum Lesen öffnen
open(W_TXT,">$output") or die $!; # Datei zum Schreiben öffnen
while(my $line = <R_TXT>){ # Zeilenweise einlesen
$line = $counter." ".$line; # Zeilennummer vorne anfügen
print W_TXT $line; # Veränderte Zeile speichern
$counter++; # counter hochzählen
}
close W_TXT;
close R_TXT; # Filehandle schließen
$list->insert('end',"Speichern erfolgreich!");
}
edit: Kommentare eingefügt!\n\n
<!--EDIT|renee|1092835218-->