Bienvenido a los foros de Perl en Español, Pac17.
Bueno, la información del archivo está organizada en registros de una línea, y campos separados por el carácter ';'. Decimos que está desordenada por el orden de los registros, ¿no?
Para imprimir un arreglo (
array) puedes usar un bucle o utilizar la ayuda del módulo Data::Dumper, pero creo que estás guardando mal la información. Si sale toda la información del archivo es que estás guardando todos los campos de todos los registros en un único nivel de profundidad, es decir: que estás perdiendo el carácter bidimensional de la información y lo estás desplegando en una sola dimensión, con lo que luego será más difícil de trabajar.
Si no quieres que salga la información de corrido, te vale con imprimir el arreglo con entrecomillado doble:
Using perl Syntax Highlighting
say "@array";
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4
Observando el formato de la salida, vemos que algunos campos están alineados hacia la derecha y otros a la izquierda. Te recomiendo el uso de sprintf() para hacer el formateo de la salida.
La recomendación básica es la de guardar la información en una estructura bidimensional: un arreglo de arreglos.
Using perl Syntax Highlighting
#!/usr/bin/env perl
use v5.18;
my @array = (
[ 'Nombre', 'Edad', 'Informacion1', 'Informacion2', 'Informacion3', ],
[ 'Pedro', '17', '3.0', '7', 'espanol', ],
[ 'Juan', '20', '3.0', '7', 'matematicas', ],
[ 'Andrea', '23', '0', '0', 'ciencias', ],
[ 'Mary', '19', '67.2', '4', 'historia', ],
);
for my $reg (@array) {
say sprintf "%-13s %4s %15s %15s %15s", @$reg;
}
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Más información, en tu propio ordenador con el comando
perldoc perllol,
y en la Web (
traducido al español).