そういえばPerlにもSetがない


最速インターフェース研究会 :: JavaScriptでPythonのsetみたいなの


そういえばPerlにもSetないなぁと思ってCPAN探したら発見。

http://search.cpan.org/dist/Set-Object/

一通りのことは出来る模様。


で、SetでJavaが懐かしくなって、APIを久しぶりに眺めてたら、TreeMap*1 とか LinkedHashMap*2 ってPerlで出来るんだろうかと思い立った。


tie で実装されたやつがあるだろうなぁとおもってCPANを徘徊。

で発見。

Java Perl
HashMap 組み込み
TreeMap Tie::Hash::Sorted
LinkedHashMap Tie::Hash::Indexed
IdentityHashMap なし(意味がないので)


Tie::Hash::Sortedは、自前で

for my $key (sort keys %hash) {
    print $hash{$key};
}

とかやることが多いので使わないかもだけど、Tie::Hash::Indexedは便利かもしれない。

Java屋のころはたまに使ってたので、そのうち使うかも。

*1:キーが昇順でソートされたHashMap

*2:挿入順を保持するHashMap