4.7 リストからユニークな要素を抽出する
# 単純な方法 %seen = (); @uniq = (); foreach $item (@list) { unless ($seen{$item}) { # ここに到達したら、そのアイテムはユニークである。 $seen{$item} = 1; push(@uniq, $item); } } # 処理速度の速い方法1 %seen = (); foreach $item (@list) { push(@uniq, $item) unless $seen{$item}++; } # 処理速度の速い方法2(ユーザ関数を使用) %seen = (); foreach $item (@list) { som_func($item) unless $seen{$item}++; } # 処理速度の速い方法3 %seen = (); foreach $item (@list) { $seen{$item}++; } @uniq = keys %seen; # 処理速度の速い方法4 %seen = (); @uniq = grep { ! $seen{$_}++} @list;