配列内の同じ値を取り除きたい。ハッシュを利用すればかんたんに実現できる。
サンプル
;#
;#配列の重複を取り除く
;#
#-- 初期化する --#
@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
);
}
実行結果
島根
京都
横浜
東京
広島
大阪
このブログを応援する
お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。