I have some defective code, which on one version of Perl doesn't emit a line number:
#!/your/perl/here
use strict;
use warnings;
my $x = q/Just Another Perl Hacker/;
if ($x =~ m/(?The Purl Caretakers' John)/)
{
print "Anagram Regex?\n";
}
exit;
(The
(? should be
(?:.)
On a Linux build of 5.8.0:
Linux% perl -c 665749.pl
Sequence (?T...) not recognized in regex; marked by <-- HERE in m/(?T
+<-- HERE he Purl Caretakers' John)/
Of course, this is easy to find, as it's a short program. But it doesn't list the offending file (or module), so it may be more difficult to find in a real application.
For comparison, here's ActiveState's 5.8.8:
Windows XP>perl -c 665749.pl
Sequence (?T...) not recognized in regex; marked by <-- HERE in m/(?T
+<-- HERE he Purl Caretakers' John)/ at 665749.pl line 8.
The full Linux build info:
Linux% perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuratio
+n:
Platform:
osname=linux, osvers=2.4.21-25.elsmp, archname=i386-linux-thread-m
+ulti
uname='linux porky.build.redhat.com 2.4.21-25.elsmp #1 smp fri nov
+ 12 21:34:51 est 2004 i686 i686 i386 gnulinux '
config_args='-des -Doptimize=-O2 -g -pipe -march=i386 -mcpu=i686 -
+Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red
+ Hat, Inc.
-Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux -Dvendorprefi
+x=/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.8.0 -Duseshr
+plib -Duse
hreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_d
+b -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -
+Dinstallus
binperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr'
hint=recommended, useposix=true, d_sigaction=define
usethreads=define use5005threads=undef useithreads=define usemulti
+plicity=define
useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
+ -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_S
+OURCE -D_F
LE_OFFSET_BITS=64 -I/usr/include/gdbm',
optimize='-O2 -g -pipe -march=i386 -mcpu=i686',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGI
+NG -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm'
ccversion='', gccversion='3.2.3 20030502 (Red Hat Linux 3.2.3-54)'
+, gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=1
+2
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
+ lseeksize=8
alignbytes=4, prototype=define
Linker and Libraries:
ld='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lnsl -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
perllibs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil
libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.s
+o
gnulibc_version='2.3.2'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynami
+c -Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE'
cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'
Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_
+FILES PERL_IMPLICIT_CONTEXT
Locally applied patches:
MAINT18379
Built under linux
Compiled at Dec 13 2005 16:27:05
%ENV:
PERL5LIB="/home/somebody/perl/lib"
@INC:
/home/somebody/perl/lib/i386-linux-thread-multi
/home/somebody/perl/lib
/usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0
/usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.0/i386-linux-thread-multi
/usr/lib/perl5/5.8.0
.
Is this a known problem with 5.8.0? I did a search, but I don't think I can say with confidence that this issue hasn't been raised somewhere.
Update: In the original post, I replaced the shebang section with something simpler, which changed the actual line number reported. I've updated the error message to reflect the actual code posted.
-QM
--
Quantum Mechanics: The dreams stuff is made of