Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re^2: Understanding Split and Join

by ferreira (Chaplain)
on Dec 30, 2006 at 19:34 UTC ( #592363=note: print w/replies, xml ) Need Help??

in reply to Re: Understanding Split and Join
in thread Understanding Split and Join

Both exceptions, the special treatment of // and /^/ by split, are documented in split. Both may deserve to be mentioned in the tutorial quickly for the profit of the unaware. The last remark by ysth about the non-equivalence of /^(?#)/ and /^ /x with // for split purposes is a subtle thing. More subtle if you compare to the fact that / /x, / # /x or even / (?#)/x have the same treatment as // when passed to this function. Looks like a case to be fixed either in the docs or in the code of the Perl interpreter itself (if not barred by compatibility issues).

Replies are listed 'Best First'.
Re^3: Understanding Split and Join
by ysth (Canon) on Dec 31, 2006 at 01:44 UTC
    Looks like a case to be fixed either in the docs or in the code of the Perl interpreter itself
    I'm not sure what you mean by "fixed"? split doesn't have the special logic for // that match and substitution do, but even those operations don't have special logic for / /x, / # /x or / (?#)/x.
      I think I have misunderstood that behavior:
      $ perl -e '@a = split //, 'abc'; print "@a"' a b c $ perl -e '@a = split / /x, 'abc'; print "@a"' a b c $ perl -e '@a = split / # /x, 'abc'; print "@a"' a b c $ perl -e '@a = split / (?#) /x, 'abc'; print "@a"' a b c

      The logic of split does not need to be special for this to work. These are real empty patterns and split understand they are meant to split characters as they return empty delimiters. But you were saying that the same is not automatic for patterns equivalente to /^/. Sorry for the confusion I made.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://592363]
[Corion]: Whee! Germanys Grand Central Airport (for Berlin, re-scheduled for the thrid or fourth time, to open now in 2018) has just fired their technical lead
[ambrus]: Corion: Is their budget estimate four times the initial estimate yet? Was the construction late by six months already three months after they started?
[marto]: I'll believe it when I see it. That's been due for many years now :P
[marto]: oddly the last time I was there I saw a zeppelin in flight for the first time
[Corion]: ambrus: I don't know how far the budget estimate has been overrun yet
[Corion]: marto: Heh ;) No, you were likely at Tegel or Schönefeld, the new one ("BER") will be somewhat outside of Berlin ;)
[marto]: Corion Schoenfeld, but my friend has been telling me about this new airport for about 7-8 years now :P
[marto]: I doubt it even exists as a building site :P

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (8)
As of 2017-02-23 11:58 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (346 votes). Check out past polls.