- 2009-11-26 (木) 2:42
- perl
print "match1\n" if "baz" =~ m{};
"foo" =~ m{foo};
print "match2\n" if "baz" =~ m{};
の結果は
match1
である。なぜならperldoc perlrerefに書いてある通り、
If 'pattern' is an empty string, the last successfully matched regex is used.
であるから。
patternを動的に生成してたりする時に空になっちゃうケースなんかがあると思うので、その場合はマッチ処理自体を回避するようにしたほうがよいかと思われます。
最初バグかと思いました。
- Newer: Plack::Middleware::Header
- Older: Casual Talks#1でLTしてきました
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.geminium.com/chiba_blog/2009/11/26/390/trackback/
- Listed below are links to weblogs that reference
- patternがemptyな場合には前回成功時のpatternが使われるというハマりポイント from へぼへぼCTO日記
(3)
(0)
(0)
(0)
Total: 3