Leser: 13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use warnings;
use strict;
print "Bitte geben Sie den Dateinamen an: ";
my $datei = <STDIN>;
chomp $datei;
if (not -s $datei) {
die ("Die Datei ist leer oder existiert nicht.\n");
}
open (my $EINGABE, '<', $datei) or die "Can't open $datei: $!\n";
my @zeilen = <$EINGABE>;
@zeilen = sort @zeilen;
print $_ foreach @zeilen;
close ($EINGABE);
print "\nIhre Datei wurde nun Lexikografisch sortiert. [OK] ";
<STDIN>;
1 2 3 4 5 6 7 8 9 10 11 12 13
open (my $EINGABE, '+<', $datei) # öffne im Modus für Lesen/Update or die "Can't open $datei: $!\n"; my @zeilen = <$EINGABE>; @zeilen = sort @zeilen; seek $EINGABE,0,0; # Dateizeiger auf Dateianfang truncate $EINGABE,0; # Datei auf Länge 0 kürzen print $EINGABE $_ foreach @zeilen; # Daten in Datei zurück schreiben close ($EINGABE) or die "Can't close $datei: $!\n";