http://www.perlmonks.org?node_id=640271


in reply to DBD::Oracle 's DBI binding of arrays

i've seen lots of map being used, but i don't really understand the concept even after reading the manuals. What does it actually do? let's say

map { $dbh->quote($_) } @userArray

taking each element out from @userArray and what does it return?
  • Comment on Re: DBD::Oracle 's DBI binding of arrays

Replies are listed 'Best First'.
Re^2: DBD::Oracle 's DBI binding of arrays
by Corion (Patriarch) on Sep 21, 2007 at 06:40 UTC

    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
      Beautifully concise explanation, Corion. ++