LX-PERL-INFO-parameters
Updated aug/2/2010 20:31
parameters
Parameters horen thuis in de wereld van de command line interface, en bijgevolg in de toolbox van de systeembeheerder.
- voorbeeld
#!/usr/bin/perl
#
# param: vraagt 2 parameters op en drukt ze af
#
print "Hallo $ARGV[0]!\n\n";
print "Hello", chr(32), " $ARGV[1]!\n";
Parameters worden door perl in een array gestopt met als naam @ARGV
De elementen van de array worden genummerd vanaf 0. De parameter met index 0 is niet de aangeroepen filenaam van het script zoals in bash, maar het eerste argument.
Je kan de elementen opvragen als:
$ARGV[n]
met n een natuurlijk getal.
Parameter 1 is dan $ARGV[0]
Parameter 2 wordt $ARGV[1]
Parameter 3 wordt $ARGV[2]
...
enzoverder.
$#ARGV is de hoogste index van de array, en bijgevolg het totale aantal parameters -1
$0 is de aangeroepen filenaam.
- nog een voorbeeld
#!/usr/bin/perl
#
# shmind: een programma dat parameters bekijkt
# met de mind van een shell scripter
#
print "De aangeroepen filenaam is $0\n";
print "Parameter 1 = $ARGV[0]\n";
print "Parameter 2 = $ARGV[1]\n";
print "Parameter 3 = $ARGV[2]\n";
print "Parameter 4 = $ARGV[3]\n";
print "\n";
print "totaal aantal parameters - 1: $#ARGV\n";
output:
$ shmind.pl 1 2 3 4
De aangeroepen filenaam is /home/bert/bin/shmind.pl
Parameter 1 = 1
Parameter 2 = 2
Parameter 3 = 3
Parameter 4 = 4
totaal aantal parameters: 3
$ shmind.pl 1
De aangeroepen filenaam is /home/bert/bin/shmind.pl
Parameter 1 = 1
Parameter 2 =
Parameter 3 =
Parameter 4 =
totaal aantal parameters: 0
$ shmind.pl
De aangeroepen filenaam is /home/bert/bin/shmind.pl
Parameter 1 =
Parameter 2 =
Parameter 3 =
Parameter 4 =
totaal aantal parameters: -1
- versie3
#!/usr/bin/perl
#
# 2shmind: een programma dat parameters bekijkt
# met een shell scripter bril
#
print "De aangeroepen filenaam is $0\n";
print "\n";
$aantal_params = $#ARGV + 1;
print "totaal aantal parameters: $aantal_params\n";
print "\n";
$n = $aantal_params;
while ($n>=1)
{
print "Parameter $n = $ARGV[($n-1)]\n";
$n -=1;
}
print "\n";
output:
$ 2shmind.pl
De aangeroepen filenaam is /home/bert/bin/2shmind.pl
totaal aantal parameters: 0
$ 2shmind.pl kat papegaai hond
De aangeroepen filenaam is /home/bert/bin/2shmind.pl
totaal aantal parameters: 3
Parameter 3 = hond
Parameter 2 = papegaai
Parameter 1 = kat
- enkele links
http://affy.blogspot.com/p5be/index.htm
http://affy.blogspot.com/p5be/ch12.htm