【Perl 】初心者コーナーPart5

このエントリーをはてなブックマークに追加
611_gunzip
>>609
#--------------------------------------------------------
# ハッシュ%mapをスライスで一気に初期化
#--------------------------------------------------------
# @rand = (7,5,9,1,0) の時、(重複無し)
# $map{'7'} = $map{'5'} = $map{'9'} = $map{'1'} = $map{'0'} = undef
# %map のキー数 = 5, @rand の要素数 = 5
#--------------------------------------------------------
# @rand = (8,8,4,3,2) の時、(重複在り)
# $map{'8'} = $map{'4'} = $map{'3'} = $map{'2'} = undef
# %map のキー数 = 4, @rand の要素数 = 5
#--------------------------------------------------------
@map{ @rand } = ();

# ハッシュ%map のキー数と元の配列の要素数が等しければ、重複は無い。
if(keys %map == @rand){
    # ok
}