perl语言怎么去重

perl语言如何去重
uid
1
2
3
4
5
6
5
3
2
2
如上,如何去重并统计数量(perl语言)

perl语言怎么去重
------解决方案--------------------
可以把你数组的东西赋给一个hash 此hash的key 和value 均为你的数组元素的值。当有重复的元素赋给hash的时候,perl会容忍你的错误,把之前的元素覆盖
当你遍历数组赋值后,得到的hash就是无冗余的。然后你从此hash再把key或者value遍历出来即可
------解决方案--------------------
#!/usr/bin/perl

%uhash;

while (<DATA>) {
    chomp;
    ($name, $uid, $date) = split;
    $uhash{$uid} += 1;
}

for $u (keys %uhash) {
    print "$u\t$uhash{$u}\n";
}

__DATA__
a     1   208...
a     1   208...
a     1   208...
a     2   208...
a     3   208...

------解决方案--------------------
perl -ne 'print if !$hash{$_}++'