(perl) Utilisation d'options en ligne de commande

01: #!/usr/bin/perl
02: 
03: 
04: use Getopt::Std;        # Usage du module standard d'acquisition des options
05:                         # sur la ligne de commande.
06: 
07: getopts("ft:");         # (exemple) Je déclare deux options possibles :
08:                         #  -f (sans argument) qui fonctionnera comme un drapeau (oui/non)
09:                         #  -t <arg>   qui apportera un argument.
10:                         # Perl fera la différence entre ces deux types d'arguments du fait
11:                         # que j'ai fait suivre t du signe : ce qui n'est pas le cas pour f.
12:                         
13: # À l'éxécution de getopts les options sont lues, s'il y a sur la ligne de commande des options
14: # non attendues une erreur est provoquée. Tout autre argument (non précédé de -) est laissé
15: # dans la table $ARGV. 
16: 
17: # Les options sont facultatives aussi est-il préférable de définir des valeurs par défaut.
18: 
19: my $defaut_f = 0;
20: my $defaut_t = "rien";
21: 
22: $opt_f and $defaut_f = $opt_f;
23: $opt_t and $defaut_t = $opt_t;
24: 
25: # Ainsi: $> test.pl -f -t toto arg1 arg2  fera que nous retrouverons :
26: 
27: print "Option_f : $defaut_f\n";
28: print "Option_t : $defaut_t\n";
29: print "Arguments : ", join(" --- ",@ARGV), "\n";    
Option_f : 1
Option_t : toto
Arguments : arg1 --- arg2