map BLOCK LIST map EXPR,LIST Evaluates the BLOCK or EXPR for each element of LIST (locally setting "$_" to each element) and returns the list value composed of the results of each such evaluation. In scalar context, returns the total number of elements so generated. Evalu­ ates BLOCK or EXPR in list context, so each ele­ ment of LIST may produce zero, one, or more ele­ ments in the returned value. @chars = map(chr, @nums); translates a list of numbers to the corresponding characters. And %hash = map { getkey($_) => $_ } @array; is just a funny way to write %hash = (); foreach $_ (@array) { $hash{getkey($_)} = $_; }