请大家帮忙看看这个脚本错在哪里,感谢~[已解决]

请大家帮忙看看这个脚本错在哪里,感谢~[已解决]

小弟是初学者,请大家帮忙看看错在哪里,脚本实现统计第一个字段id的总行数.

#!/usr/bin/perl  -w


my %count;
while(<DATA>){
    my($id,$count) = split(/,/,$_);
    $count{$id}++;
}

foreach $id(keys %count){
    print "$id,$count{id}\n";
}


__END__
A,xxxxxxxxxxxx
B,ddffffffffff
C,dddddddddddddd
A,dddddddddd
C,ddddddddddddd
A,ddddddddddddddd
D,ddddddddddddd
B,ddddddddddddddd
B,ddddddddddddddd
C,dddddddddddddddd
A,ddddddddddddddddd
D,ddddddddddddddd


运行之后有第一个id,但没有统计数字

#!/usr/bin/perl
my %count;
while(<>){
chomp;
my($id,$count)=split(/,/,$_);
$count{$id}++;
}
foreach $id(keys %count){
        print "$id,$count{$id}\n";
        }

数据文件为data
perl count data
输出
A,4
D,2
C,3
B,3
感谢楼上的兄弟,我粗心到少打了一个$,真是惭愧~

我把上面的范例复杂化了一下

__END__
A,xxxxxxxxxxxx,1
B,ddffffffffff,2
C,dddddddddddddd,1
A,dddddddddd,1
B,ddddddddddddd,2
C,ddddddddddddddd,3
A,ddddddddddddd,2
B,ddddddddddddddd,2
B,ddddddddddddddd,1

第3个字段标识第一个字段的某个属性,现在的需求是,统计项目A中所有属性所出现的次数,输出类似于这样的结果:
A,1,2
A,2,1
B,2,3
B,1,1
C,1,1
C,3,1

我暂时没有思路,能否有兄弟指教一下
#!/usr/bin/perl  -w
use strict;

my %count;

while (<DATA>) {
        chomp;
        my ($a, $b, $c) = split ',', $_;
        $count{$a} = {};
        ${$count{$a}}{$c}++;
}

for my $a (keys %count) {
        for my $c (keys %{$count{$a}}) {
                print "$a $c ${$count{$a}}{$c}\n";
        }
}

__END__
A,xxxxxxxxxxxx,1
B,ddffffffffff,2
C,dddddddddddddd,1
A,dddddddddd,1
B,ddddddddddddd,2
C,ddddddddddddddd,3
A,ddddddddddddd,2
B,ddddddddddddddd,2
B,ddddddddddddddd,1

#!/usr/bin/perl
my %count;
while(<>){
chomp;
my($id,$attr)=(split /,/)[0,2]
$count{$id}{$attr}++;
}
for my $id (sort keys %count){
   for my $attr (sort keys %{$count{$id}}){
       print "$id,$attr,$count{$id}{$attr}.
}
A,1,2.
A,2,1.
B,1,1.
B,2,3.
C,1,1.
C,3,1.
  感谢楼上2位
bty:两位都很早啊