Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.85k stars 527 forks source link

PERLBUG: qr with /x #128

Closed p5pRT closed 20 years ago

p5pRT commented 24 years ago

Migrated from rt.perl.org#932 (status was 'resolved')

Searchable as RT932$

p5pRT commented 24 years ago

From @schwern

My co-worker ran into this problem. It appears that a compiled regex used inside a /x pattern needs to be /x as well. The following demonstrates​:

$pat = 'foo'; $c_pat = qr/foo/; $c_pat_fixed = qr/foo/x;

$string = 'foo';

$\ = $/; print 'normal​: '\, $string =~ / $pat /x ? 'Yes' : 'No'; print 'qr​: '\, $string =~ / $c_pat /x ? 'Yes' : 'No'; print 'fixed qr​: '\, $string =~ / $c_pat_fixed /x ? 'Yes' : 'No';

I've noted this failure under 5.005_03/Linux and 5.005_02/Linux

Perl Info ``` Site configuration information for perl 5.00503: Configured by root at Mon May 10 08:16:17 EDT 1999. Summary of my perl5 (5.0 patchlevel 5 subversion 3) configuration: Platform: osname=linux, osvers=2.0.36, archname=i686-linux uname='linux sparta 2.0.36 #2 sun feb 21 15:55:27 est 1999 i686 unknown ' hint=previous, useposix=true, d_sigaction=define usethreads=undef useperlio=undef d_sfio=undef Compiler: cc='gcc', optimize='-O6', gccversion=2.7.2.3 cppflags='-Dbool=char -DHAS_BOOL -I/usr/local/include' ccflags ='-Dbool=char -DHAS_BOOL -I/usr/local/include' stdchar='char', d_stdstdio=define, usevfork=false intsize=4, longsize=4, ptrsize=4, doublesize=8 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 alignbytes=4, usemymalloc=y, prototype=define Linker and Libraries: ld='cc', ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lnsl -lndbm -ldb -ldl -lm -lc -lposix -lcrypt libc=, so=so, useshrplib=false, libperl=libperl.a Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/i686-linux/CORE' cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib' Locally applied patches: @INC for perl 5.00503: /home/schwern/lib/perl5/5.005 /home/schwern/lib/perl5/site_perl/5.005/i686-linux /home/schwern/lib/perl5/site_perl/5.005 /usr/lib/perl5/i686-linux /usr/lib/perl5 /usr/lib/perl5/site_perl/5.005/i686-linux /usr/lib/perl5/site_perl/5.005 . Environment for perl 5.00503: HOME=/home/schwern LANG=C LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/home/schwern/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin:/usr/games:. PERL5LIB=/home/schwern/lib/perl5/5.005:/home/schwern/lib/perl5/site_perl/5.005 PERL_BADLANG (unset) SHELL=/bin/bash -- Michael G Schwern schwern@pobox.com http://www.pobox.com/~schwern /(?:(?:(1)[.-]?)?\(?(\d{3})\)?[.-]?)?(\d{3})[.-]?(\d{4})(x\d+)?/i ```