my @matrix=([qw(1 2 4 4)],[qw(5 2 0 8)],[qw(9 10 11 12)],); my @t = map{my $c=$_; my $z=1;[grep $z&=/[^0]/, map{$matrix[$_][$c]}0..$#matrix]}0..$#{$matrix[0]};