On Sun, Feb 5, 2012 at 12:22 PM, demerphq <demerphq@gmail.com> wrote: > On 5 February 2012 01:19, Eric Brine via RT <perlbug-followup@perl.org> > wrote: > > On Sat Feb 04 16:15:49 2012, ikegami@adaelis.com wrote: > >> On Sat Feb 04 04:05:02 2012, glitchmr@myopera.com wrote: > >> > When '/e' modifier is used with 're' module, Perl complains about > >> > unknown modifier. Personally, I think that informing about '/e' > >> > not being able to be used by 're' module would be more useful. > >> > > >> > C:\Users\Konrad>perl -e "use re '/e'" > >> > Unknown regular expression flag "e" at -e line 1 > >> > >> That message is accurate. > >> > >> >perl -e" /(?e:x)/ " > >> Sequence (?e...) not recognized in regex; marked by <-- HERE in m/(?e > >> <-- HERE :x)/ at -e line 1. > >> > >> "e" is not a regular expression flag. It is a substitution operator > flag. > > > > Also note that "e" is not mentioned in perlre. The regex flags are (as > > listed in perlre): m, s, i, x, p, g, c, a, d, l, u. > > Just to note, perlre does not decide this. regexp.h does. > > > (I find this very odd that p, g and c are regex flags instead of match > > substitute operator flags, but they are are.) > > Huh?! > > /p relates to how we manage $`, $&, $', and has nothing to do with > substitution. > > /g relates to how match > > /c relates to how we match. > > None of them have anything to do with substitution. > Perl disagrees. >perl -e"qr/foo/c" Having no space between pattern and following word is deprecated at -e line 1. Bareword found where operator expected at -e line 1, near "qr/foo/c" syntax error at -e line 1, near "qr/foo/c " Execution of -e aborted due to compilation errors. >perl -e"qr/foo/g" Having no space between pattern and following word is deprecated at -e line 1. Bareword found where operator expected at -e line 1, near "qr/foo/g" syntax error at -e line 1, near "qr/foo/g " Execution of -e aborted due to compilation errors.Thread Previous | Thread Next