ある配列に特定の要素が含まれているかどうか知りたいとき、 java では List#contains が用意されていますが、どうやら perl では標準で用意されていないんですね。ここら辺を自前で書くのが perl 流といったところでしょうか。
1 2 3 4 5 6 7 8 9 10 | #!/usr/bin/perl -l my @array = qw/a b c d e f g/; undef %tmp ; for ( @array ) { $tmp { $_ } = 1; } print $tmp { "a" } ? 'true' : 'false' ; print $tmp { "h" } ? 'true' : 'false' ; |
数値配列で有無をチェックする場合は、vec を使う方法で軽くできるとのこと。