Hola:
Lo primero que tienes que hacer es quitar el búfer de STDOUT:
$|++;Lo que sucede es que Perl espera a que el búfer llegue a cierto tamaño para desplegarlo, al poner la línea anterior Perl deja de hacer eso y despliega la salida inmediatamente.
Ahora, hacer el split() en bucle es muy fácil y sigue una simple lógica, si ves estás asignando el resultado del split() a un
array, por lo que podemos deducir que el resultado del split() es un
array, entonces:
Using perl Syntax Highlighting
use strict;
$|++;
my @loc2_cadena;
for my $line ( split //, $cadena ) {
print "$line\n";
push( @loc2_cadena, $line );
}
exit(1);
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Toma en cuenta que por hacer el print() y después el push() el
script se puede hacer mucho más lento, pero te permite desplegar línea por línea el resultado, permitiendo al usuario ver lo que está pasando.
Saludos