From: Abigail Date: Tue, 9 Sep 2003 10:31:58 +0000 (+0200) Subject: Remove the warning in perlfaq about using map in void context : X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=788611b6a6a160290f10302fc348e5dff91edc6e;p=p5sagit%2Fp5-mst-13.2.git Remove the warning in perlfaq about using map in void context : Subject: [PATCH perlfaq6] map in a void context. Message-ID: <20030909083158.GA24125@abigail.nl> p4raw-id: //depot/perl@21166 --- diff --git a/pod/perlfaq6.pod b/pod/perlfaq6.pod index 0a134c3..168233b 100644 --- a/pod/perlfaq6.pod +++ b/pod/perlfaq6.pod @@ -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). -=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