Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^6: how to strip spaces, commas or new lines from an array

by AnomalousMonk (Bishop)
on Jun 16, 2021 at 14:31 UTC ( #11133921=note: print w/replies, xml ) Need Help??


in reply to Re^5: how to strip spaces, commas or new lines from an array
in thread how to ignore spaces, commas or new line of an array when comparing

... if you don't want or need to keep your "dirty" array you could modify it in-place ...

noviceuser:   Note that because map aliases via $_ (on which s/// operates by default), the dirty array is already being modified in place:

Win8 Strawberry 5.8.9.5 (32) Wed 06/16/2021 10:11:33 C:\@Work\Perl\monks >perl use strict; use warnings; use Test::More tests => 2; 1..2 my @array1 = ('foo', 'bar'); my @array2 = (" foo\n", ',bar,'); my @clean = map { s/[\s,]//mg; $_ } @array2; is_deeply \@clean, \@array1, "new, cleaned array"; is_deeply \@array2, \@array1, "dirty array modified in place"; ^Z ok 1 - new, cleaned array ok 2 - dirty array modified in place
With Perl version 5.14 and after, one can use the /r modifier with s/// (and tr/// y///) to avoid this modify-in-place behavior when operating on the default $_ alias. See s/// tr/// y/// under Regexp Quote-Like Operators in perlop. (Update: Correction: the tr/// y/// operators are actually discussed in the Quote-Like Operators section of perlop.)


Give a man a fish:  <%-{-{-{-<

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (2)
As of 2021-09-27 05:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?