From the "learn something new every day" department: Going through some of my company's source code, I stumbled upon a weird method of using a regex:
my $test = 'aba';
print "Good\n" if $test =~ ab;
Yup, it prints "Good" with no warnings, no problem with a bareword (ActiveState 5.005 and 5.6). Where the heck is this documented? I've never seen a "bare" regex like that. I wonder if there are any problems with this, so long as it's a simple regex ($test =~ ^aba$;
fails, for example)?
Update: After a fair amount of discussion in the chatterbox, it was agreed that this is definitely a bug for two reasons:
- The behavior is inconsistent amongst different versions of Perl and on different operating systems.
- strict should catch an error on the bareword.
Because of this, and because no one could find this documented either as a feature or a bug, a bug report
Join the Perlmonks Setiathome Group or just go the the link and check out our stats.