grep とリファレンスがわからなかった。 ちなみに一通りドキュメントは読んでみて、概念っぽいのはわかっているんだけど、実際の挙動がわからない、という感じ。ようするにだめだめ。とぴあさんに助けてもらいつつちょっとわかってきた。 [{:foo=>:a, :bar=>:b}, {:foo=>:c, :bar=>:d}].find {|i| i[:foo] == :a}[:bar] っていう Ruby のコードを Perl で書きたい場合。 # 答え (grep { $_->{foo} eq "a"} [{foo=>"a", bar=>"b"}, {foo=>"c", bar=>"d"}])[0]->{bar}; #以下間違い # クロージャのあとにカンマは要らない grep { .. }, [..]; # -> 演算子によって左辺がスカラ文字列に変換されてしまうらしい # この場合 grep