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


in reply to scanning hash

Here's a scalable, undef-friendly solution, just for kicks:
my $multiple_values; my ($k,$v); use Data::Dumper; $Data::Dumper::Useqq = 1; while (defined($k = each %hash)) { if ($v) { ++$multiple_values, last if Dumper($hash{$k}) ne $v; } else { $v = Dumper($hash{$k}) } }
It does distinguish between strings and numbers that eq would say were the same, though.

Replies are listed 'Best First'.
Re^2: scanning hash
by Aristotle (Chancellor) on Aug 01, 2004 at 15:05 UTC

    That is nice in the spirit of TMTOWTDI, but it's overengineered and inefficient. defined is a perfectly sufficient vehicle to write code that handles undef vs empty string correctly.

    Makeshifts last the longest.