====== Ein- und Ausgaben ====== kurz: #!/usr/bin/perl use strict; use warnings; while () { print; } ausführlich (macht das Gleiche) #!/usr/bin/perl use strict; use warnings; while (defined($_ = )) { print; } sehr kurz: #!/usr/bin/perl use strict; use warnings; print sort <>; # sortiert entweder die übergebene Datei oder das, was von STDIN kommt. ausführlich #!/usr/bin/perl use strict; use warnings; my @eingabe; if (@ARGV) # Kommandozeilen Argumente { foreach my $file ( @ARGV ) { # -f $file and -r $file or die; # -f testet ob es ich um eine Datei handelt. # -r testet ob die Datei lesbar ist # -w testet ob die Datei schreibbar ist # die = Ende des Programms unless ( -f $file and -r $file ) # unless = ifnot { warn "$file ist kein lesbare Datei"; # print STDERR "$file ist kein lesbare Datei"; # fast das Gleiche wie warn next; # nächster in der Schleife # "last" würde die Schleife sofort beenden. } open FILE, $file # FILE = filehandle (STDIN ist auch ein filehandle) or die "Konnte Datei $file nicht öffnen: $!"; # or die = falls es die Datei nicht gibt oder nicht lesbar ist. # => Programmende mit entsprechender Meldung. push @eingabe, ; close FILE; } } else { while () { chomp; if ($_ eq 'fertig') { last; } else { push @eingabe, $_.$/; } } } print "Ausgabe:\n"; print sort @eingabe; # Ausgabe in Datei my $ausgabeDatei = '/tmp/ausgabe.txt'; open AUSGABEDATEI, ">$ausgabeDatei" # ">.." öffnet die Datei zum schreiben or die $!; print AUSGABEDATEI sort @eingabe; close AUSGABEDATEI;