in reply to Map: The Basics
Map works on all types of lists, not just those returned by the <> operators. In addition, $_ is a symbolic reference (see perlref), which gives map yet another use, and makes one of your examples a bit confusing. Consider:
Now @newarray and @array contain the same thing, as the s/// operator alters the contents of @array! Far better to write:my @array = <FILE>; my @newarray = map { s/\#.*$//; $_ } @array;
This way of doing things is deliberate, as it eliminates unnecessary assignments when you want the results to go back to the same array. The <FILE> thing is special, as perl copies the file to a temporary, anonymous, array for use while processing, so you never see that it gets altered.my @array = <FILE>; map s/\#.*$//, @array;
Andrew.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: RE: Map: The Basics
by swiftone (Curate) on Jan 12, 2001 at 02:22 UTC |