うまいぼうぶろぐ

linuxとhttpdとperlのメモ

perlの正規表現 /x修飾子でうっかり

PBPに見習って/msxを常につけるようにしてるんだけど、先頭が"#"の場合はコメントなconfigを読み込んで処理しようとして

while (my $line = <$fh>) {
  next if $line =~ m/^#/msx;
}

としたら全部の行がregexにマッチして何も処理しなくなってた。おや〜と悩んでいたら/xをつけることで"#"が正規表現内でのコメントになっているのだった。そうだったそうだった。つまり、実質

m/^/ms;

となるので、そりゃ絶対マッチする罠っていうお恥ずかしい間違いだった。