ciao
questo va bene
subchiamata
{
$primoarray = shift;
$secarray = shift;
$terzarray = shift;
}
equivalente a
subchiamata
{
($primo,$secondo,$terzo)=@_;
}
Ricorda che tutti i parametri che passi sono inseriti nello stesso ordine nel vettore @_ .
shift to toglie il primo elemento dell'array. Se non specifichi un array preciso usa @_ che è quello che contiene gli array nel tuo caso.
subchiamata(\@a,\@b,\@c); #è corretto è ti funziona
In $Primoarray te hai l'indirizzo del primo array. Se te lavori con l'indirizzo vai a modificare il vettore originale.
Dunque se dentro la sub di prima fai
$primoarray->[0]='ciao mondo'; # -> si usano con i puntatori ad hash, array, code, scalari
modifichi il primo elemento del vettore anche nel main.
Se ti trovi male puoi anche fare una copia del vettore.
@copia=@$primoarray; # viene valutata l'espressione nel contesto lista e viene fatta la copia
perl rulez
ciao