What do you mean by "matrix"? There is no object in Perl (at least in the core modules) called "matrix". See perldata.
What you actually need is a hash of arrays. Hashes can contain only (possibly blessed) scalar values, so you cannot just put arrays in the hash. Instead, need to create array references and put them in a hash. See perlreftut for more information on this. For example,
my %hash = (
one => [ 1, 2, 3, ],
two => [ 4, 5, 6, 7, ],
three => [ 8, ],
);
print ((join "\t", (sort keys %hash)),"\n");
my $i = 0;
my $defined;
do {
$defined = 0;
map {$defined++ if defined $hash{$_}->[$i]} (keys %hash);
for (sort keys %hash) { print $hash{$_}->[$i] // " ", "\t"; };
print "\n";
$i++;
} while ($defined > 0);
__END__
one three two
1 8 4
2 5
3 6
7
Sorry if my advice was wrong.
|