Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
my @array = qw( c d );
my $normal = 'hola';
mandar(@array, $normal); # cd
print "\n";
sub mandar {
print $_[0];
print $_[1];
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Perl despliega los
array casi cada vez que se lo encuentra en el código. Por eso, cuando pones
mandar(@array, $normal)es como si pusieras
mandar( ('c', 'd') , $normal)Y como los paréntesis, casi siempre están de adorno, al final tenemos
mandar( 'c', 'd', $normal)El valor de $normal estará en
$_[2], porque son tres los argumentos que le pasaste a la función.
Cosa distinta hubiera pasado si lo hubieras llamado así:
mandar($normal, @array)Una forma mejor de enviar un
array a una función, es por referencia (como se suele hacer en el lenguaje C):
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
my @array = qw( c d );
my $normal = 'hola';
mandar(\@array, $normal); # c d hola
sub mandar {
my($array_ref, $normal) = @_;
print "@{$array_ref} $normal\n";
# print $array_ref->[1], "\n"; # d
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4