统计第二列,每一竖行的字母的个数:
测试数据如下:
AB78954 QDKLJLKASJDFQIPQRUWEIRJPFMQPJEFIJWEFQPEIJFQWJEPIJFQ
AB78955 JAUTUSADTFUDIADCHEUWYFOUYSOUDIFYOUIWEYFHJKASDFHQK
AB78956 IEOUQFMFAJDSKHFUYDCHIUVOHASDUNOHUEHRQOIUHFAOIUSHF
AB78957 NVCNQJEOYUFIEWFNMDNCOEUWCQNCONVXCNBVOQYEWBYEB
AB78958 UOWEYFHBVMXCBVHOBWEUYBVYEBVMNBVHJBOEUFPEUIYPEIY
AB78959 UIQOYTUIQTPOEIWUTHVZXCBNVMANBOEYQFWYFGOUYEGFUWEIF
AB78960 QDKLJLKASJDFQIPQRUWEIRJPFMQPJEFIJWEFQPEIJFQWJEPIJFQ
我写的代码: (可能不是最好的,有高手请指正)
#!/usr/bin/perl
use strict;
use warnings;
my @str;
my %has;
my @rows;
while (<DATA>)
{
my ($f,$l) = split /\s+/;
my @rows = split //,$l;
my $col = 0;
foreach (@rows)
{
$has{$col}{$_}++;
$col++;
}
}
my @kyes = sort keys %has;
foreach my $key (@kyes)
{
print "$key\n";
my @ks = sort keys %{$has{$key}};
foreach my $k (@ks)
{
print "\t$k\t$has{$key}{$k}\n";
}
}
__DATA__
AB78954 QDKLJLKASJDFQIPQRUWEIRJPFMQPJEFIJWEFQPEIJFQWJEPIJFQ
AB78955 JAUTUSADTFUDIADCHEUWYFOUYSOUDIFYOUIWEYFHJKASDFHQK
AB78956 IEOUQFMFAJDSKHFUYDCHIUVOHASDUNOHUEHRQOIUHFAOIUSHF
AB78957 NVCNQJEOYUFIEWFNMDNCOEUWCQNCONVXCNBVOQYEWBYEB
AB78958 UOWEYFHBVMXCBVHOBWEUYBVYEBVMNBVHJBOEUFPEUIYPEIY
AB78959 UIQOYTUIQTPOEIWUTHVZXCBNVMANBOEYQFWYFGOUYEGFUWEIF
AB78960 QDKLJLKASJDFQIPQRUWEIRJPFMQPJEFIJWEFQPEIJFQWJEPIJFQ
|
阅读(1334) | 评论(0) | 转发(0) |