in reply to Re: When would you choose foreach instead of map?
in thread When would you choose foreach instead of map?

This is all good, but I would say that "end weight" should be the deciding factor. In this case (and probably in most cases), the source of the list is very simple (just an array) so it makes more sense to specify the list first, and then follow it with the block of code acting on it: you use foreach.

In cases where the source of the list you're acting on is more complicated, you might be able to improve clarity by switching this around and using map to put the code block first, followed by the list.

(By the way, did you know that map has now been optimized for use in void context? It used to be you'd take a performance hit for using map instead of foreach, but that's not true anymore, for the latest versions of perl.)

  • Comment on Re: Re: When would you choose foreach instead of map?