Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Tutorial suggestion: split and join

by Not_a_Number (Parson)
on Aug 29, 2003 at 13:34 UTC ( #287644=note: print w/ replies, xml ) Need Help??


in reply to Tutorial suggestion: split and join

1) This statement:

If you leave off the pattern, split assumes you want to split on /\s+/.

needs considerable qualification. You can't just 'leave off the pattern' except in one particular circumstance. Try this:

my $str = " foo bar baz "; my @spl = split $str; print "@spl";

It just doesn't work (at least in 5.6.1). You can only leave off the 'pattern' if you also leave off the 'target', ie if you are splitting on an implicit $_, eg:

while ( <DATA> ) { split; #do something interesting; }

2) This is plain wrong:

One special case is when you specify the string literal, " " (a quoted space), which does the same thing as specifying no delimiter at all (no argument).

There is nothing special about " " (see gmax's example above). You are confusing it with ' '.

3) One other minor point, I would suggest bringing the paragraph Preserving delimiters up to just below Where do delimiters go?, which IMHO would be a more logical ordering.

hth

dave

Update: See Abigail-II's post below


Comment on Re: Tutorial suggestion: split and join
Select or Download Code
Re: Tutorial suggestion: split and join
by Abigail-II (Bishop) on Aug 29, 2003 at 14:11 UTC
    There is nothing special about " " (see gmax's example above). You are confusing it with ' '.

    I don't understand how gmax example shows it. Could you provide us with a single string on which splitting with " " produces a different result than splitting with ' '?

    It would be very, very strange if split produces different results, because the difference between " " and ' ' has disappeared long before split is called. After compile time, the difference between " " and ' ' is gone.

    Abigail

      Sorry

      I always thought that the 'magic' of ' ' was limited to single quotes. And a total misreading of this line:

      for ( " ", '\s', '\s+' ) {

      in gmax's code seemed to bear out my fallacy.

      Remark withdrawn, with apologies.

      :( dave

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://287644]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (12)
As of 2014-09-17 09:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (70 votes), past polls