Non ho usato Perl da anni ma ho a che fare con un vecchio codice.Passa stringa e matrice temporanea in sub in 1 riga?
ho fatto una subroutine che voglio passare una stringa e un array in:
sub pass_in {
my ($str, $array) = @_;
for my $e (@$array) {
print "I see str $str and list elem: $e\n";
}
return 0;
}
my @temp_arr = qw(A B C D E);
my $str = "hello";
pass_in($str, \@temp_arr);
Questo funziona bene. Ma invece non voglio creare un temp_arr
. E 'in qualche modo possibile di fare:
non funziona:
pass_in($str, qw(A B C D E));
Inoltre, non funziona:
pass_in($str, \qw(A B C D E));
Quindi non c'è bisogno di creare una variabile temporanea?
Grazie mille !! questo ha fatto il trucco! –
Oppure puoi assegnare 'my ($ str, @array) = @ _' e passare l'elenco di elementi' pass_in ($ str, qw (A B C D E)); ' – Sobrique