批量处理并转置

use strict;
use warnings;
use Data::Dumper;
open OUT,">jieguo.txt";

my @file=glob "*.mapstat";
my %hash;
my %title;

foreach my $file(@file){
    #$file = ~/(.*).all.mapstat/;
    #my $id=$1;
    #print $file;
    my $n=0;
    open IN,$file;
    while(<IN>){
        #$_=~s/\r//g;
        chomp;
        #next if(/^$/ || $_ eq "");
        my ($name,$type,$info)=split/\s+/,$_;
        #print "$type\n";
        $title{$type}=$n;
        $n++;
        #if(!defined $info){print "h" if(/\t/);print $_;die;}
        push @{$hash{$file}},$info;
        }
        close IN;
}
print OUT join("\t",(sort {$title{$a} <=> $title{$b}} keys %title));
print OUT"\n";
#print Dumper %hash;
#die;



for my $key (keys %hash){
#    for my $i(0..$#{$hash{$key}}){
        print OUT join("\t",@{$hash{$key}})."\n" ;
    #}
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容