first point is, you only have letters, no numbers, so Perl won't "increment" them
Really?
$ perl -le '$c = "a"; print ++$c'
b
Check perlop:
The auto-increment operator has a little extra builtin magic to it. ... If, however, the variable has been used in only string contexts since it was set, and has a value that is not the empty string and matches the pattern "/^[a-zA-Z]*[0-9]*\z/", the increment is done as a string, preserving each character within its range, with carry ...
Update: Though you're actually right, but only by coincidence. Using the postfix autoincrement won't make the hash elements incremented.
$ perl -Mstrict -MData::Dumper -we 'my @a = qw(a b c d); \
my %h = map { $_++ } @a; print Dumper \%h'
$VAR1 = {
'c' => 'd',
'a' => 'b'
};
--chargrill
s**lil*; $*=join'',sort split q**; s;.*;grr; &&s+(.(.)).+$2$1+; $; =
qq-$_-;s,.*,ahc,;$,.=chop for split q,,,reverse;print for($,,$;,$*,$/)