A ver...
En Perl, el
sigil (carácter especial que precede a las variables), indica el tipo de dato que
obtenemos de esa variable.
Si pones un '@' quiere decir que quieres obtener una lista de valores. Un ejemplo:
Using perl Syntax Highlighting
my @arreglo = qw( Una lista de palabras obviamente corta
);
my @extracto = @arreglo[1
,3
,5
]; # mete 'lista', 'palabras' y 'corta' en @extractoColoreado en 0.001 segundos, usando
GeSHi 1.0.8.4
En cambio, con '$' estamos indicando que solo queremos obtener un valor:
Using perl Syntax Highlighting
my @arreglo = qw( Una lista de palabras obviamente corta
);
my $extracto = $arreglo[0
]; # mete 'Una' en $extractoColoreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Por ello, tu tienes puesto:
Using perl Syntax Highlighting
print @nuevo_array[$i], "\n";Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
que, literalmente, quiere decir: "pinta la lista (
@) de valores, extraídos desde la variable
@nuevo_array, correspondientes al índice
$i".
Sí, funciona, pero... como ves, hay "algo" raro... No pega "pintar una lista de valores", cuando realmente lo que quieres es "pintar un valor".
Deberías haber escrito:
Using perl Syntax Highlighting
print $nuevo_array[$i], "\n";Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
que quiere decir: "pinta el (
$) elemento $i-ésimo del arreglo @nuevo_array".