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.

  1. 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.

  2. 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


  3. 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


  4. enkele links

    http://affy.blogspot.com/p5be/index.htm
    http://affy.blogspot.com/p5be/ch12.htm