Mr. Shawn H. Corey schreef:
> chen li:

>> Both line codes work perfectly:
>>
>> my @new_array = map { split } @arry;
>> or
>> my @new_array = split ' ', "@arry";
>
> The second statement will work perfectly if every element has only one
> space character separating its components and has no leading or
> trailing spaces.

Not so, see perldoc -f split. I believe I have pointed this out to you
before.


<quote>
As a special case, specifying a PATTERN of space (' ') will
split on white space just as "split" with no arguments does.
Thus, "split(' ')" can be used to emulate awk's default behav-
ior, whereas "split(/ /)" will give you as many null initial
fields as there are leading spaces.  A "split" on "/\s+/" is
like a "split(' ')" except that any leading whitespace produces
a null first field.  A "split" with no arguments really does a
"split(' ', $_)" internally.
</quote>


  perl -e '$_="    1   2    3  "; print "<", join( ":", split " "), ">"'

<1:2:3>

  perl -e '$_="    1   2    3  "; print "<", join( ":", split), ">"'

<1:2:3>

-- 
Affijn, Ruud

"Gewoon is een tijger."



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to