Bienvenido a los foros de Perl en Español, Juan Manu.
El código que has puesto, bien formateado, es este:
Using perl Syntax Highlighting
while ( $linea = <STDIN> ) {
chomp $linea;
}
print $linea;
Coloreado en 0.004 segundos, usando
GeSHi 1.0.8.4
Entonces, el bucle recorre todas las líneas que le llegan desde la entrada estándar. Y por cada una de ellas, le quita el carácter/los caracteres de final de línea, y... nada más. Así que, yo supongo que la última línea del código, lo único que hace es sacar la última línea leída de la entrada estándar, nada más.
Si lo que quieres es almacenar todo el archivo en una sola variable, puedes ir acumulando:
Using perl Syntax Highlighting
my $secuencia;
while (my $linea = <STDIO>) {
chomp $linea;
$secuencia .= $linea;
}
print "[$secuencia]\n";
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Otra forma: leerlo de golpe en un array, quitar todos los finales de línea, y luego unirlo todo en la variable:
Using perl Syntax Highlighting
my @archivo = <STDIO>; # leemos todas las líneas
chomp @archivo;
my $secuencia = join '', @archivo;
print "[$secuencia]\n";
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Hay más formas...