Perl の正規表現はリストコンテキストでキャプチャがないと (1) を返す
2011 年 9 月 1 日 木曜日Perl で、
my @cap = $uri{$mkey} =~ /$ex_item->{match}{$mkey}{pattern}/ or next EX_MATCH_LOOP; @vars{@{$ex_item->{match}{$mkey}{vars}}} = @cap if exists $ex_item->{match}{$mkey}{vars} && ref $ex_item->{match}{$mkey}{vars} eq 'ARRAY';
なんてコードを書いていて (何をやろうとしているのかは想像にお任せします… 別にプロプライエタリなコードじゃないし、いちいち擬似コード的に書き直すのも面倒なのでそのまま持って来ちゃいましたw)、ふと、ここでやっている正規表現のパターンにキャプチャが含まれていなかった場合、マッチするのに or
の後に処理が流れてしまうことはないのかと疑問に思いました。
(さらに…)