[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