I rewrite your code without use List::Util qw/ max /:
#!/usr/bin/perl -w
use strict;
my @rows;
push @rows, [split (/\s/, $_)] while (<DATA>);
my @nn = sort{$a <=> $b} map { @$_- 1 } @rows ;
my $max_cols = pop @nn;
for my $r (0..$max_cols) {
for my $c (0..$#rows) {
$_ = $rows[$c]->[$r] ;
print if defined;
}
print "\n";
}
__DATA__
A B C F G
u b
1 T A R S 2 P
but I don't understand why this:
my $max_cols = pop sort{$a <=> $b} map { @$_- 1 } @rows ;
doesn't work and I must do this:
my @nn = pop sort{$a <=> $b} map { @$_- 1 } @rows ;
my $max_cols = pop @nn;
|