map
map - apply a change to a list to get back a new list with the changes
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.  Evaluates BLOCK or EXPR in a list context, so each element of LIST
may produce zero, one, or more elements 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($_)} = $_;
    }