[Tech] Perl: parametri da linea di comando
Franco Bagnoli
bagnoli@dma.unifi.it
Dom 28 Gen 2001 10:29:49 CET
On Sat, 27 Jan 2001, Francesco Poli wrote:
> Come faccio a scoprire quanti parametri sono stati passati allo
> script dalla linea di comando?
if (@ARGV == 2) {....}
comunque io di solito scrivo qualcosa del genere:
($primo, $secondo, @terzo) = @ARGV;
$secondo = "default" unless $secondo;
....
oppure nel caso di argomenti omogenei (esempio: un elenco di file)
while ($arg = shift @ARGV) {
process($arg);
}
(lo stesso nelle subroutine)
E se prendi piu' di due argomenti che non sono omogenei forse ti conviene
usare Getopts
myscript -o output -i include_file input_file
cosi' non devi ricordarti l'ordine. Nelle subroutine
conviene passare gli argomenti tramite un hash
my_syb($primo_arg, n=>3, C=>4, x=>$xarg)
sub my_syb{
$primo_arg=shift;
%others = (n=>"default_n", C=>"default_C", @_);
....
cosi' puoi dare i default, passi gli argomenti per nome, ecc.
Franco Bagnoli
Dipartimento di Matematica Applicata "G. Sansone"
Universita' di Firenze, Via S. Marta, 3 I-50139 Firenze, Italy
tel. +39 0554796422, fax: +39 055471787
e-mail: bagnoli@dma.unifi.it
Maggiori informazioni sulla lista
flug-tech