- ベストアンサー
perlのハッシュについて
perlのハッシュでキーから値を得ることは出来ますが、その逆に値からキーを得るような関数ってありますか?探してもみつかりませんでした。識者の方々教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ん~, それくらいなら特に困ることもなく @keys = grep { $hash{$_} eq $value; } keys %hash; で終わり (比較に何を使えばいいのかは知らん) では?
その他の回答 (2)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.3
ん, それは一瞬迷った. メモリだけの問題なら, each 使って逃げられそう (同程度に時間はかかる). 「ハッシュを tie してど~のこ~の」までやればできる場面もありえなくはないんだけど, ちとやりすぎかなと思ったり.
質問者
お礼
やはり思いますよね。必要性を感じたらまたここに質問にきてしまうかもしれません・・・。とりあえず、keys等を使い使ってみます。 回答ありがとうございました。
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
作ればあるけど.... 「複数のキーに対して同じ値が設定されている」場合にはどうするの?
質問者
お礼
回答ありがとうございます。やはり作るしかないのですね。 >>「複数のキーに対して同じ値が設定されている」場合にはどうするの? その場合その異なるキー全てを抽出する形にするプログラムです。
お礼
返事遅れまして申し訳ございません。keys等を使って参照したりすると、毎回毎回全部のキーを参照する形になるのかなと思い、他にリソースをあまり消費しない関数があればと思っていました。でも、他にはないように思います ありがとうございました