in reply to creating matrices for PDL module

I have no idea what 'there' you are talking about, but here is code that will build the arrays.
#!/usr/bin/perl -w use PDL; $matrixfile = $ARGV[0]; open(MATRIX, "$matrixfile") || die "Error: Can't open $matrixfile file + for reading: $!\n"; @matrix = map({chomp; [split(/\s+/, $_)]} <MATRIX>); for my $ctl ( [ qw ( 0 1 2 3 ) ], [ qw ( 4 1 2 3 ) ], [ qw ( 0 4 2 3 ) ], [ qw ( 0 1 4 3 ) ], [ qw ( 0 1 2 4 ) ], ) { for my $data (@matrix) { for my $offset (@$ctl) { print $data->[$offset], ' '; } print "\n"; } print "\n"; }
If you replace the print functions with pushes into an array you should end up with what you want.
-- gam3
A picture is worth a thousand words, but takes 200K.