<?xml version="1.0" encoding="windows-1252"?>
<node id="997364" title="Re: Efficiency of map vs. more verbose basic/fundamental code" created="2012-10-04 23:17:49" updated="2012-10-04 23:17:49">
<type id="11">
note</type>
<author id="732669">
Marshall</author>
<data>
<field name="doctext">
I think that Version (2) and (1) do exactly the same thing.&lt;br&gt;

Version 2 is easier to understand. And I think that it is as least as fast if not faster. If we are benchmarking things, then we need to to "apples to apples". 

&lt;c&gt;
#!/usr/bin/perl -w
use strict;
use Data::Dumper;

## version 1....
my $num =0;
my %h = map{$_, $num++}('A'..'Z','a'..'z'); 
print Dumper \%h;

## version 2...
my %hash;
foreach my $letter (('A'..'Z','a'..'z'))
{
   $hash{$letter}++;
}
print Dumper \%hash;

foreach (sort keys %h)
{
   print "$_ OK\n" if $hash{$_};
}
&lt;/c&gt;

&lt;readmore&gt;
&lt;c&gt;
$VAR1 = {
          'S' =&gt; 18,
          'a' =&gt; 26,
          'T' =&gt; 19,
          'N' =&gt; 13,
          'K' =&gt; 10,
          'd' =&gt; 29,
          'Y' =&gt; 24,
          'E' =&gt; 4,
          'j' =&gt; 35,
          'y' =&gt; 50,
          'Z' =&gt; 25,
          'u' =&gt; 46,
          'k' =&gt; 36,
          'g' =&gt; 32,
          't' =&gt; 45,
          'e' =&gt; 30,
          'J' =&gt; 9,
          'W' =&gt; 22,
          'v' =&gt; 47,
          's' =&gt; 44,
          'B' =&gt; 1,
          'H' =&gt; 7,
          'c' =&gt; 28,
          'q' =&gt; 42,
          'b' =&gt; 27,
          'D' =&gt; 3,
          'I' =&gt; 8,
          'G' =&gt; 6,
          'z' =&gt; 51,
          'U' =&gt; 20,
          'w' =&gt; 48,
          'F' =&gt; 5,
          'r' =&gt; 43,
          'x' =&gt; 49,
          'V' =&gt; 21,
          'Q' =&gt; 16,
          'h' =&gt; 33,
          'M' =&gt; 12,
          'C' =&gt; 2,
          'L' =&gt; 11,
          'f' =&gt; 31,
          'i' =&gt; 34,
          'A' =&gt; 0,
          'n' =&gt; 39,
          'O' =&gt; 14,
          'X' =&gt; 23,
          'P' =&gt; 15,
          'm' =&gt; 38,
          'l' =&gt; 37,
          'p' =&gt; 41,
          'R' =&gt; 17,
          'o' =&gt; 40
        };
$VAR1 = {
          'S' =&gt; 18,
          'a' =&gt; 26,
          'T' =&gt; 19,
          'N' =&gt; 13,
          'K' =&gt; 10,
          'd' =&gt; 29,
          'Y' =&gt; 24,
          'E' =&gt; 4,
          'j' =&gt; 35,
          'y' =&gt; 50,
          'Z' =&gt; 25,
          'u' =&gt; 46,
          'k' =&gt; 36,
          'g' =&gt; 32,
          't' =&gt; 45,
          'e' =&gt; 30,
          'J' =&gt; 9,
          'W' =&gt; 22,
          'v' =&gt; 47,
          's' =&gt; 44,
          'B' =&gt; 1,
          'H' =&gt; 7,
          'c' =&gt; 28,
          'q' =&gt; 42,
          'b' =&gt; 27,
          'D' =&gt; 3,
          'I' =&gt; 8,
          'G' =&gt; 6,
          'z' =&gt; 51,
          'U' =&gt; 20,
          'w' =&gt; 48,
          'F' =&gt; 5,
          'r' =&gt; 43,
          'x' =&gt; 49,
          'V' =&gt; 21,
          'Q' =&gt; 16,
          'h' =&gt; 33,
          'M' =&gt; 12,
          'C' =&gt; 2,
          'L' =&gt; 11,
          'f' =&gt; 31,
          'i' =&gt; 34,
          'A' =&gt; 0,
          'n' =&gt; 39,
          'O' =&gt; 14,
          'X' =&gt; 23,
          'P' =&gt; 15,
          'm' =&gt; 38,
          'l' =&gt; 37,
          'p' =&gt; 41,
          'R' =&gt; 17,
          'o' =&gt; 40
        };
A OK
B OK
C OK
D OK
E OK
F OK
G OK
H OK
I OK
J OK
K OK
L OK
M OK
N OK
O OK
P OK
Q OK
R OK
S OK
T OK
U OK
V OK
W OK
X OK
Y OK
Z OK
a OK
b OK
c OK
d OK
e OK
f OK
g OK
h OK
i OK
j OK
k OK
l OK
m OK
n OK
o OK
p OK
q OK
r OK
s OK
t OK
u OK
v OK
w OK
x OK
y OK
z OK

Process completed successfully
&lt;/c&gt;
&lt;/readmore&gt;

</field>
<field name="root_node">
997326</field>
<field name="parent_node">
997326</field>
</data>
</node>
