use strict; use warnings; my (@Ax, @Ai, @Ap) = (); while (<>) { chomp; my @elements = split /\s+/; my $i = 0; my $new_line = 1; while (defined(my $element = shift @elements)) { $i++; if ($element) { push @Ax, 0 + $element; if ($new_line) { push @Ai, scalar @Ax; $new_line = 0; } push @JA, $i; } } } push @Ai, 1 + @Ax; print('@Ax = [', join(" ", @Ax), "]\n"); print('@Ai = [', join(" ", @Ai), "]\n"); print('@Ap = [', join(" ", @Ap), "]\n");