|    
 
Wir haben die Kommandozeilenargumente schon einmal gesehen...
 
 #!/usr/bin/perl -w
$counter=0;
while(@ARGV){
    print "argument[$counter] " , shift, "\n";
    $counter++
    };
 
 
Bei dieser Methode die Kommandozeilenargumente zu durchlaufen,
muss erwähnt werden, dass mit Hilfe von shift, @ARGV entleert
wird und somit nicht mehr für weiter Auswertungen zur Verfügung
steht.
 Bei Ausführung dieses Programms wird mancher C-Programmierer
meinen, die Ausgabe sei falsch. Beispielsweise wir machen folgende
eingaben...
 
 
 /usr/bin/perl -w programm.pl hallo hallo2 
Die Ausgabe lautet dann...
 
 argument[0] hallo argument[1] hallo2
 
In C haben sie gelernt das argv[0] für den Programmnamen steht. Nun
in Perl ist dies nicht so. In Perl steht argv[0] für das was in C
argv[1] ist usw. Um den Programmnamen in Perl zu erfahren, gibt es
die reservierte Variable...
 
 
Vervollständigen wir unser Programm von zuvor nochmals....
 
 #!/usr/bin/perl -w
$counter=0;
print "Programmname $0\n";
while(@ARGV){
    print "argument[$counter] " , shift, "\n";
    $counter++;
    };
 
 
Um die einzelnen Argumente durchzulaufen ohne @ARGV durch shift
zu zerstören, verwenden wir am besten eine foreach-Schleife.....
 
 #!/usr/bin/perl -w
$counter=0;
print "Programmname $0\n";
foreach(@ARGV){
    print "argument[$counter] $_ \n";
    $counter++;
    }
 
 
Natürlich können sie auch auf die einzelnen Argumente mit Hilfe
des Indexes zugreifen...
 
 #!/usr/bin/perl -w
print "Programmname $0\n";
print "argument[0] " , $ARGV[0] , "\n" if defined $ARGV[0];
print "argument[1] " , $ARGV[1] , "\n" if defined $ARGV[1];
print "argument[2] " , $ARGV[2] , "\n" if defined $ARGV[2];
#usw. 
 
 
       
 © 2001,2002 Jürgen Wolf
 |