perl 小工具 -- 行列转置小脚本

行列转置的小脚本

#!/usr/bin/perl -w
use strict;


my %out;
open IN, $ARGV[0] || die $!;
while(){
    chomp;
    my @a = split /\t/, $_;
    for (my $i=0;$i<@a;$i++){
        $out{$i}{$.} = $a[$i];
    }
}
close IN;

foreach my $k (sort {$a<=>$b} keys %out ){
    my $out;
    foreach my $d (sort {$a<=>$b} keys $out{$k}){
        $out .= "$out{$k}{$d}\t";
    }
    $out =~ s/\t$//g;

    print "$out\n";
}

__END__
[email protected]

你可能感兴趣的:(perl 小工具 -- 行列转置小脚本)