>>>>> "RArul" == RArul <[EMAIL PROTECTED]> writes:
RArul> a) Why do perl gurus exhort, not to use 'grep' or 'map' RArul> functions under void context? It is only an artifact of implementation that altering $_ can alter the input list. The purpose of map or grep is to process a list to produce an output result, not to alter an input list. I abused the "$_ is aliased" feature of grep in the Perl3 days, and I regret that, because it became a part of the culture through my prolific postings. Even in a void context, grep and map build up an output list, so it's wasting CPU to do that. At first you could argue that there really wasn't anything as concise as: grep s/foo/bar/, @list; but now we have s/foo/bar/ for @list; which is even shorter. :) So for those many reasons, we who have been using Perl for more than 10 years say no to grep/map in void context. RArul> b) What other functions, are to be avoided in 'void' context? Well, anything whose primary purpose is to "return" something. Like "?:", for example. I can't think of many others at the moment, sorry. -- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <[EMAIL PROTECTED]> <URL:http://www.stonehenge.com/merlyn/> Perl/Unix/security consulting, Technical writing, Comedy, etc. etc. See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training! -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]