Front page | perl.perl5.porters |
Postings from July 2012
[perl #114040] Multiline constructs in regexp blocks
Thread Next
From:
Father Chrysostomos
Date:
July 8, 2012 14:18
Subject:
[perl #114040] Multiline constructs in regexp blocks
Message ID:
rt-3.6.HEAD-28836-1341782316-515.114040-75-0@perl.org
# New Ticket Created by Father Chrysostomos
# Please include the string: [perl #114040]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=114040 >
These all fail to parse with bleadperl, but work in 5.16:
# formats
/(?{ format =
@<
$x
.
})/;
$x = ok;
write;
# deer hocks
/(?{ <<END
END
})/;
# pod
/(?{
=pod
onuthoen oeun hoeun oue
=cut
})/
Either this code under case '\n' in yylex needs to change, so it does not assume the rest of the buffer is on one line:
*s = '\0';
PL_bufend = s;
Or we need sublex_push at the start of a format.
I haven’t looked into the other two.
It seems to me that toke.c was written under the assumption that the current buffer would only contain one line of code. And then string eval came along, so we ended up with if(in_eval) sprinkled here and there. If we could unify the code, we could avoid many discrepancies that result. C.f. #78348.
---
Flags:
category=core
severity=high
---
Site configuration information for perl 5.17.0:
Configured by sprout at Sun May 27 22:53:58 PDT 2012.
Summary of my perl5 (revision 5 version 17 subversion 0) configuration:
Snapshot of: 0518cfa2586ee9f51080e63f5c5ad77803deaaa8
Platform:
osname=darwin, osvers=10.5.0, archname=darwin-2level
uname='darwin pint.local 10.5.0 darwin kernel version 10.5.0: fri nov 5 23:20:39 pdt 2010; root:xnu-1504.9.17~1release_i386 i386 '
config_args='-de -Dusedevel -DDEBUGGING'
hint=previous, useposix=true, d_sigaction=define
useithreads=undef, usemultiplicity=undef
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cc', ccflags ='-fno-common -DPERL_DARWIN -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include',
optimize='-O3 -g',
cppflags='-fno-common -DPERL_DARWIN -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -fno-common -DPERL_DARWIN -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='', gccversion='4.2.1 (Apple Inc. build 5664)', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' -fstack-protector -L/usr/local/lib'
libpth=/usr/local/lib /usr/lib
libs=-ldbm -ldl -lm -lutil -lc
perllibs=-ldl -lm -lutil -lc
libc=, so=dylib, useshrplib=false, libperl=libperl.a
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup -L/usr/local/lib -fstack-protector'
Locally applied patches:
---
@INC for perl 5.17.0:
/usr/local/lib/perl5/site_perl/5.17.0/darwin-2level
/usr/local/lib/perl5/site_perl/5.17.0
/usr/local/lib/perl5/5.17.0/darwin-2level
/usr/local/lib/perl5/5.17.0
/usr/local/lib/perl5/site_perl
.
---
Environment for perl 5.17.0:
DYLD_LIBRARY_PATH (unset)
HOME=/Users/sprout
LANG=en_US.UTF-8
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/bin
PERL_BADLANG (unset)
SHELL=/bin/bash
Thread Next
-
[perl #114040] Multiline constructs in regexp blocks
by Father Chrysostomos