Benutzer-Werkzeuge

Webseiten-Werkzeuge


perl_ein-_und_ausgaben

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

perl_ein-_und_ausgaben [2015/05/31 20:00] (aktuell)
admin angelegt
Zeile 1: Zeile 1:
 +====== Ein- und Ausgaben ======
  
 +kurz:
 +<code perl>
 +#​!/​usr/​bin/​perl
 +use strict;
 +use warnings;
 +
 +while (<​STDIN>​)
 +{
 +  print;
 +}
 +</​code>​
 +
 +ausführlich (macht das Gleiche)
 +<code perl>
 +#​!/​usr/​bin/​perl
 +use strict;
 +use warnings;
 +
 +while (defined($_ = <​STDIN>​))
 +{
 +  print;
 +}
 +</​code>​
 +
 +sehr kurz:
 +<code perl>
 +#​!/​usr/​bin/​perl
 +use strict;
 +use warnings;
 +print sort <>; # sortiert entweder die übergebene Datei oder das, was von STDIN kommt.
 +</​code>​
 +
 +
 +ausführlich
 +<code perl>
 +#​!/​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, <​FILE>;​
 +    close FILE;
 +  }
 +}
 +
 +else
 +{
 +  while (<​STDIN>​)
 +  {
 +    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;​
 +
 +</​code>​
perl_ein-_und_ausgaben.txt · Zuletzt geändert: 2015/05/31 20:00 von admin