in reply to Map and Grep

Just to add something else, here is how map and grep would look if they didn't exist.
# @out = map { EXPRESSION } @in my @out; foreach $_ ( @in ) { push @out, EXPRESSION; } # @out = grep { CONDITION } @in my @out; foreach $_ ( @in ) { push @out, $_ if CONDITION; }
Using the functions map and grep saves us typing these commonish constructs every time we need them.
Perl function list: <LAZY> map grep </LAZY> for foreach