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:
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)?#!/usr/bin/perl -w use strict; my $test = 'aba'; print "Good\n" if $test =~ ab;
Cheers,
Ovid
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.
Join the Perlmonks Setiathome Group or just go the the link and check out our stats.
Back to
Meditations