FAQ
# New Ticket Created by Smylers
# Please include the string: [perl #128302]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/Ticket/Display.html?id=128302 >



This is a bug report for perl from smylers@stripey.com,
generated with the help of perlbug 1.40 running under perl 5.25.2.


-----------------------------------------------------------------
perldoc -f split doesn't state that split /PATTERN/ can use pattern
modifier flags, but it seems that it can:

   ./perl -Ilib -E 'say foreach split /a b # c/, q[0aB1a b # c2a B # c 3]'
   0aB1
   2a B # c 3

   ./perl -Ilib -E 'say foreach split /a b # c/ix, q[0aB1a b # c2a B # c 3]'
   0
   1a b # c2a B # c 3

This should be included in split's documention.

Are all the qr/PATTERN/ flags also valid on split? (With the already
documented exception that /^/ implies /^/m anyway.)

-----------------------------------------------------------------
---
Flags:
     category=docs
     severity=low
---
Site configuration information for perl 5.25.2:

Configured by smylers at Tue May 31 13:40:14 BST 2016.

Summary of my perl5 (revision 5 version 25 subversion 2) configuration:
   Commit id: bdc905d035d4f835a808f1825dad9a8cd726d1ec
   Platform:
     osname=linux, osvers=3.13.0-85-generic, archname=x86_64-linux
     uname='linux fozzie 3.13.0-85-generic #129-ubuntu smp thu mar 17 20:50:15 utc 2016 x86_64 x86_64 x86_64 gnulinux '
     config_args='-des -Dusedevel'
     hint=recommended, useposix=true, d_sigaction=define
     useithreads=undef, usemultiplicity=undef
     use64bitint=define, use64bitall=define, uselongdouble=undef
     usemymalloc=n, bincompat5005=undef
   Compiler:
     cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
     optimize='-O2',
     cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
     ccversion='', gccversion='4.8.4', gccosandvers=''
     intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
     ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
     alignbytes=8, prototype=define
   Linker and Libraries:
     ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
     libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
     libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
     perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
     libc=libc-2.19.so, so=so, useshrplib=false, libperl=libperl.a
     gnulibc_version='2.19'
   Dynamic Linking:
     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector'


---
@INC for perl 5.25.2:
     lib
     /usr/local/lib/perl5/site_perl/5.25.2/x86_64-linux
     /usr/local/lib/perl5/site_perl/5.25.2
     /usr/local/lib/perl5/5.25.2/x86_64-linux
     /usr/local/lib/perl5/5.25.2
     .

---
Environment for perl 5.25.2:
     HOME=/home/smylers
     LANG=en_GB.utf8
     LANGUAGE=en_GB:en
     LC_COLLATE=C
     LD_LIBRARY_PATH (unset)
     LOGDIR (unset)
     PATH=/home/smylers/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/games
     PERL_BADLANG (unset)
     PERL_CPANM_OPT=--sudo --prompt
     SHELL=/bin/bash

Search Discussions

  • Abigail at May 31, 2016 at 8:53 pm

    On Tue, May 31, 2016 at 09:06:57AM -0700, Smylers wrote:
    # New Ticket Created by Smylers
    # Please include the string: [perl #128302]
    # in the subject line of all future correspondence about this issue.
    # <URL: https://rt.perl.org/Ticket/Display.html?id=128302 >



    This is a bug report for perl from smylers@stripey.com,
    generated with the help of perlbug 1.40 running under perl 5.25.2.


    -----------------------------------------------------------------
    perldoc -f split doesn't state that split /PATTERN/ can use pattern
    modifier flags, but it seems that it can:

    ./perl -Ilib -E 'say foreach split /a b # c/, q[0aB1a b # c2a B # c 3]'
    0aB1
    2a B # c 3

    ./perl -Ilib -E 'say foreach split /a b # c/ix, q[0aB1a b # c2a B # c 3]'

    1a b # c2a B # c 3

    This should be included in split's documention.

    Are all the qr/PATTERN/ flags also valid on split? (With the already
    documented exception that /^/ implies /^/m anyway.)

    I think they are, but some warn. For instance:

       $ perl -wE 'our @a = split /f/g, "foo"'
       Use of /g modifier is meaningless in split at -e line 1.
       $


    But I haven't checked all of them.



    Abigail
  • Smylers at May 31, 2016 at 8:58 pm

    Abigail writes:
    On Tue, May 31, 2016 at 09:06:57AM -0700, Smylers wrote:

    Are all the qr/PATTERN/ flags also valid on split?
    I think they are, but some warn. For instance:

    $ perl -wE 'our @a = split /f/g, "foo"'
    Use of /g modifier is meaningless in split at -e line 1.
    /g is an m// modifier. perlop documents that m// takes all of the qr//
    modifiers plus /g and /c.
    But I haven't checked all of them.
    I was hoping that somebody might already know, but if not I'll go
    through them.

    Smylers
  • Father Chrysostomos via RT at May 31, 2016 at 9:14 pm

    On Tue May 31 13:59:22 2016, smylers@stripey.com wrote:
    Abigail writes:
    On Tue, May 31, 2016 at 09:06:57AM -0700, Smylers wrote:

    Are all the qr/PATTERN/ flags also valid on split?
    I think they are, but some warn. For instance:

    $ perl -wE 'our @a = split /f/g, "foo"'
    Use of /g modifier is meaningless in split at -e line 1.
    /g is an m// modifier. perlop documents that m// takes all of the qr//
    modifiers plus /g and /c.
    But I haven't checked all of them.
    I was hoping that somebody might already know, but if not I'll go
    through them.
    It does accept all the modifiers that m// accepts, because there is actually an m// op there at compile time initially, before ck_split makes its exotic changes to the op tree. After all, you can write split m//....

    --

    Father Chrysostomos


    ---
    via perlbug: queue: perl5 status: open
    https://rt.perl.org/Ticket/Display.html?id=128302
  • Father Chrysostomos via RT at May 31, 2016 at 9:16 pm

    On Tue May 31 14:14:16 2016, sprout wrote:
    On Tue May 31 13:59:22 2016, smylers@stripey.com wrote:
    Abigail writes:
    On Tue, May 31, 2016 at 09:06:57AM -0700, Smylers wrote:

    Are all the qr/PATTERN/ flags also valid on split?
    I think they are, but some warn. For instance:

    $ perl -wE 'our @a = split /f/g, "foo"'
    Use of /g modifier is meaningless in split at -e line 1.
    /g is an m// modifier. perlop documents that m// takes all of the
    qr//
    modifiers plus /g and /c.
    But I haven't checked all of them.
    I was hoping that somebody might already know, but if not I'll go
    through them.
    It does accept all the modifiers that m// accepts, because there is
    actually an m// op there at compile time initially, before ck_split
    makes its exotic changes to the op tree. After all, you can write
    split m//....
    If you do change the docs, please don’t make it imply that split "foo" can take modifiers. split per se does not actually take any, but rather the m// that serves as its first argument. (In fact, the idea of split taking modifiers is not a way I have ever looked at it, even before I knew perl internals.)

    --

    Father Chrysostomos


    ---
    via perlbug: queue: perl5 status: open
    https://rt.perl.org/Ticket/Display.html?id=128302

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupperl5-porters @
categoriesperl
postedMay 31, '16 at 4:07p
activeMay 31, '16 at 9:16p
posts5
users3
websiteperl.org

People

Translate

site design / logo © 2018 Grokbase