Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
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
Replies are listed 'Best First'.
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 taking refuge in the Monastery: (5)
As of 2015-07-30 00:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (269 votes), past polls