Remove the warning in perlfaq about using map in void context :
authorAbigail <abigail@abigail.be>
Tue, 9 Sep 2003 10:31:58 +0000 (12:31 +0200)
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>
Wed, 10 Sep 2003 19:36:30 +0000 (19:36 +0000)
Subject: [PATCH perlfaq6] map in a void context.
Message-ID: <20030909083158.GA24125@abigail.nl>

p4raw-id: //depot/perl@21166

pod/perlfaq6.pod

index 0a134c3..168233b 100644 (file)
@@ -679,15 +679,18 @@ guaranteed is slowness.)  See the book "Mastering Regular Expressions"
 hope to know on these matters (a full citation appears in
 L<perlfaq2>).
 
-=head2 What's wrong with using grep or map in a void context?
+=head2 What's wrong with using grep in a void context?
 
-The problem is that both grep and map build a return list,
-regardless of the context.  This means you're making Perl go
-to the trouble of building a list that you then just throw away.
-If the list is large, you waste both time and space.  If your
-intent is to iterate over the list then use a for loop for this
+The problem is that grep builds a return list, regardless of the context.
+This means you're making Perl go to the trouble of building a list that
+you then just throw away. If the list is large, you waste both time and space.
+If your intent is to iterate over the list, then use a for loop for this
 purpose.
 
+In perls older than 5.8.1, map suffers from this problem as well.
+But since 5.8.1, this has been fixed, and map is context aware - in void
+context, no lists are constructed.
+
 =head2 How can I match strings with multibyte characters?
 
 Starting from Perl 5.6 Perl has had some level of multibyte character