develooper Front page | perl.perl5.porters | Postings from July 2012

[perl #114040] Multiline constructs in regexp blocks

Thread Next
Father Chrysostomos
July 8, 2012 14:18
[perl #114040] Multiline constructs in regexp blocks
Message ID:
# New Ticket Created by  Father Chrysostomos 
# Please include the string:  [perl #114040]
# in the subject line of all future correspondence about this issue. 
# <URL: >

These all fail to parse with bleadperl, but work in 5.16:

# formats
/(?{ format =
$x = ok;

# deer hocks
/(?{ <<END

# pod


onuthoen oeun hoeun oue



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.
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
    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
    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
  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:

Environment for perl 5.17.0:
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PERL_BADLANG (unset)

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About