in reply to Why? uninitialized value in pattern match when using if (defined)

I have a code snippet and it works exactly as expected:

use strict; use warnings; my $tmpf = 'farms'; my %factories = (farms => "Farmer Brown's"); print "$tmpf\n"; # prints 'farms' print keys( %factories), "\n"; # 'farms' is one of them. print "Is defined" if ( defined $factories{ $tmpf});


farms farms Is defined

How is it different from your code snippet that generates an error message that on the face of it has nothing to do with the snippet? Perhaps you could modify my snippet to demonstrate your error? You could also read I know what I mean. Why don't you?.

DWIM is Perl's answer to Gödel