プロが教えるわが家の防犯対策術!

perlのハッシュでキーから値を得ることは出来ますが、その逆に値からキーを得るような関数ってありますか?探してもみつかりませんでした。識者の方々教えてください。

A 回答 (3件)

ん~, それくらいなら特に困ることもなく


@keys = grep { $hash{$_} eq $value; } keys %hash;
で終わり (比較に何を使えばいいのかは知らん) では?
    • good
    • 1
この回答へのお礼

返事遅れまして申し訳ございません。keys等を使って参照したりすると、毎回毎回全部のキーを参照する形になるのかなと思い、他にリソースをあまり消費しない関数があればと思っていました。でも、他にはないように思います
ありがとうございました

お礼日時:2012/10/23 19:34

ん, それは一瞬迷った.



メモリだけの問題なら, each 使って逃げられそう (同程度に時間はかかる).

「ハッシュを tie してど~のこ~の」までやればできる場面もありえなくはないんだけど, ちとやりすぎかなと思ったり.
    • good
    • 0
この回答へのお礼

やはり思いますよね。必要性を感じたらまたここに質問にきてしまうかもしれません・・・。とりあえず、keys等を使い使ってみます。

回答ありがとうございました。

お礼日時:2012/10/25 10:50

作ればあるけど....



「複数のキーに対して同じ値が設定されている」場合にはどうするの?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。やはり作るしかないのですね。
>>「複数のキーに対して同じ値が設定されている」場合にはどうするの?
その場合その異なるキー全てを抽出する形にするプログラムです。

お礼日時:2012/10/22 15:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!