Using perl Syntax Highlighting
my @genbank = @_;
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
La variable especial @_ guarda los argumentos que se le pasan a la subrutina. Cuando pones un
array, todos los elementos del
array son "desplegados" (como su enviáramos cada elemento por separado). Cada uno se mete en cada posición de @_. Entonces los podemos recoger haciendo una asignación entre
arrays.
El problema es cuando tenemos muchos elementos dentro de @genbank1. Quizás lo más eficiente no es pasar todos los elementos de @genbank1, sino solo una referencia a él:
Using perl Syntax Highlighting
ORGANISMO(\@genbank1); # no pasamos el array entero, solo una referencia a él
sub ORGANISMO {
my $genbank_ref = shift; # el valor de $_[0] contiene la referencia al array
my $organismo = '';
for my $linea (@{$genbank_ref}) { # des-referenciamos
if ( $linea =~ /^ ORGANISM/ ) {
$linea =~ s/^\s*ORGANISM\s*//;
$organismo = $linea;
}
}
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
De esta manera, solo pasamos un valor, y no 'n'.