Perlで配列をユニーク(unique)にする

Perlで配列をユニークにする方法

PHPのarray_unique的なやつです。

#!/usr/bin/perl

use strict;
use warnings;

my @list = (1, 2, 3, 1);

my @unique = array_unique(@list);

print "@unique";


sub array_unique {
    my @list = @_;
    my %unique;
    for (@list) {
        $unique{$_} = 1;
    }
    return keys %unique;
}

※この方法だと要素の出現順序が変わってしまうので、厳密にはPHPのarray_uniqueとは違います。

参考

Hashを使って配列をユニークにしよう!
PHP array_unique in Perl » From PHP to Perl
カテゴリ: Perl