que tienen una función más adelante en Perl"Demasiados argumentos" al pasar una matriz a Perl sub?
sub create_hash()
{
my @files = @_;
foreach(@files){
if(/.text/)
{
open($files_list{$_},">>$_") || die("This file will not open!");
}
}
}
estoy llamando esta función pasando un argumento de matriz, como a continuación:
create_hash(@files2);
La matriz tiene alrededor de 38 valores en ella. Pero estoy recibiendo errores de compilación:
Too many arguments for main::create_hash at ....
lo que es el mal que estoy haciendo aquí?
mi versión de Perl es:
This is perl, v5.8.4 built for i86pc-solaris-64int
(with 36 registered patches, see perl -V for more detail)
Retirar del '()'? (Como en 'sub create_hash {..}') –
qué sucede si llama a su función como: create_hash (files2); (sin el signo "@") – Arfeen
@ pst si los elimino error es: Array encontrado donde se esperaba operador en process.pl línea 71, al final de la línea (¿Necesita predeclarar create_hash?) error de sintaxis en proceso .pl línea 71, cerca de "create_hash @ files2" – Vijay