假设我有以下数据的Perl:多维散列
cluster1中:d(A)中,f(C)类,(A)
Cluster2中,R(d),H(d ),F(A)
我想这一点,把
产量:
cluster1:A->2
cluster1:C->1
cluster2:D->2
cluster2:A->1
这里是我的尝试,但它是不正确的,那我想计算字符部分有我不能修复 代码是非常大的代码的一部分的问题,正是我想要的多维散列
use strict;
use Data::Dumper;
my %count;
while (<DATA>) {
my %HoH;
my ($cluster, $ch) = split (/:/,$_);
$HoH{$cluster}={split /[()]+/,$ch};
for my $clust (keys %HoH) {
for my $character (keys %{ $HoH{$clust} }) {
$count{$clust}{$HoH{$clust}{$character}}++;
}
}
}
print Dumper(\%count);
foreach my $name (sort keys %count) {
foreach my $subject (keys %{$count{$name}}) {
print "$name:$subject->$count{$name}{$subject}\n";
}
}
DATA
cluster1中:d(A)中,f(C)类,(A)
Cluster2中:R(d)中,h(d)中,f(A)
而问题是什么? – choroba
问题更新 – shaq
现在输入格式也非常不同。 – flesk