http://qs321.pair.com?node_id=1119648


in reply to Re^2: map vs for\foreach.
in thread map vs for\foreach.

That is essentially what a map is - although your syntax is wrong. Unless you do something like: map { sub {...}->(...) } @foo to force the execution of the sub, you will simply get a set of sub {...} anonymous subroutines the same size as @foo.

The contents of the BLOCK in the map call are what I think you are thinking of as the sub. OTOH, something like:

@subs = map { my $something = $_; sub { blah( $something, ... ); } } @data;

would give you a set of subroutines that each operate on a specific item in @data. In this case, you are still transforming @data into a set of subs working on a closures.

--MidLifeXis