Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^3: map split vs array split

by radiantmatrix (Parson)
on Jul 31, 2007 at 15:18 UTC ( [id://629851]=note: print w/replies, xml ) Need Help??


in reply to Re^2: map split vs array split
in thread map split vs array split

Simply put, you can't split arrays. The purpose of split is to split a string into a list of values. Therefore, split expects a scalar as its second argument, representing the string to split. When you pass an array, the array is evaluated in scalar context, which returns the number of elements in the array.

If you wanted to split each of the lines, you should use a foreach loop to iterate over the values in the array and operate on them one at a time:

foreach (@lines) { my @lines1 = split(' ', $_); # $_ is "it" -- the current element of + @lines print @lines1,"\n"; }

Or, for another approach, you could use map:

map { print split(' ', $_),"\n" } @lines;

In any case, split simply does not, will not work they way you're trying to use it -- it's not supposed to.

<radiant.matrix>
Ramblings and references
The Code that can be seen is not the true Code
I haven't found a problem yet that can't be solved by a well-placed trebuchet

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2024-04-24 05:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found