Perlでリスト内の同じ値を取り除きたい場合は、ハッシュを使えば簡単にできます。 my @array = qw(a b a d d d c); my %hash = (); foreach (@array) { $hash{$_}++; } my @unique = keys %hash; foreach 内の $hash{$_}++ は 重複をカウントしていますが、$hash{$_}=1 で重複をカウント しなくてもよいですね。 重複を取り除く方法は、perlfaq に、いくつか方法が記載されています。 %perldoc -q duplicate mapを用いた方法 my %hash = map { $_, 1 } @array; my @unique = keys %hash; ハッシュスライスを用いた方法 my %hash; @hash{ @array } = (); my @uni