map takes a list and returns a new list. The new list is created by gathering the results of the codeblock. The codeblock is invoked one per item in the original list:
use strict;
use Data::Dumper;
my @items = qw(1 2 3 4 5 6 7);
my @new_items;
# Make a copy of @items in a very inefficient way
@new_items = map { $_ } @items;
# Make a new list 2 3 4 5 6 7 8
@new_items = map { $_+1 } @items;
# Make a new list of strings:
@new_items = map { ">$_<" } @items;
# Make a new list with all items appearing twice:
# 1 1 2 2 3 3 4 4 5 5 6 6 7 7
@new_items = map { $_ => $_ } @items;
# Make a new list with all items quoted:
map { $dbh->quote($_) } @userArray