配列内の重複を取り除く - Perl

この記事は2007年03月06日に書かれた物です

配列内の同じ値を取り除きたい。ハッシュを利用すればかんたんに実現できる。

サンプル

;#
;#配列の重複を取り除く
;#
 
#-- 初期化する --#
@array = (
      '東京', '大阪', '広島', '京都', '東京'
    , '広島', '横浜', '大阪', '京都', '島根'
);
 
#-- 重複削除 --#
@uniq = uniqArray(\@array);
 
#-- 表示 --#
foreach my $value ( @uniq ){
    print "$value\n";
}
 
#------------------------------#
#配列(リスト)から重複を取り除く
#------------------------------#
sub uniqArray{
    my $array = shift;
    my %hash  = ();
 
    foreach my $value ( @$array ){
        $hash{$value} = 1;
    }
 
    return(
        keys %hash
    );
}

実行結果

島根
京都
横浜
東京
広島
大阪

関連書籍

chromatic, Damian Conw…
ISBN 4873113148
¥ 9,725

failed to fetch data: unkown error

コメント

コメントを入力. Wiki文法が有効です:
E F G A P