in reply to flip flop behaviour of regex match
You're using the g option on the match operator when you don't mean to do so. m//g acts as an iterator in scalar context.
$_ = 'abc'; print /(.)/g ? $1 : '[]', "\n"; # a print /(.)/g ? $1 : '[]', "\n"; # b print /(.)/g ? $1 : '[]', "\n"; # c print /(.)/g ? $1 : '[]', "\n"; # [] print /(.)/g ? $1 : '[]', "\n"; # a
$_ = 'abc'; print /(.)/ ? $1 : '[]', "\n"; # a print /(.)/ ? $1 : '[]', "\n"; # a print /(.)/ ? $1 : '[]', "\n"; # a print /(.)/ ? $1 : '[]', "\n"; # a print /(.)/ ? $1 : '[]', "\n"; # a
|
|---|