2011 年 9 月 1 日 のアーカイブ

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 の後に処理が流れてしまうことはないのかと疑問に思いました。
(さらに…)