in reply to Perl For loops
my @array = map { STMT* EXPR } LIST; [download]
can be written as
my @array; for (LIST) { STMT* push @array, EXPR; } [download]
and
my @array = grep EXPR, LIST; [download]
my @array; for (LIST) { if (EXPR) { push @array, $_; } } [download]