====== 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;