in reply to •Re: Re: Get All Duplicated Elements in an Array (Once, without shifting)
in thread Get All Duplicated Elements in an Array (Once, without shifting)
While it is true that %hash{$_}++ is illegal syntax, it is interesting to note that %hash->{$_}++is not. (But it only works on actual hashes and not hash references.) AFAIK its a bug, but one that has basically become a feature.
It embarrassed the crap out of me when I discovered this. I was reviewing some code of my colleagues, (relatively new to perl at the time) and identified these as compile time errors. He politely told me what I was full of :-) and then showed me it compiled (and worked) fine. Luckily he had a few other subtle bugs that I found so I managed to avoid looking like a complete moron. :-)use Data::Dumper; use strict; use warnings; my %hash; %hash->{$_}=$_ foreach 0..5; print Dumper(\%hash); __END__ $VAR1 = { '0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5 };
--- demerphq
my friends call me, usually because I'm late....
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: Get All Duplicated Elements in an Array (Once, without shifting)
by dragonchild (Archbishop) on Apr 18, 2005 at 14:20 UTC |
In Section
Seekers of Perl Wisdom