Wow. This is driving me crazy. I'm looking for a value in one of the keys in a hash, like so:
my %apples = (macintosh => {weight => '10lb', cost => '5'}, red_delicious => {weight => '15lb', cost => '2'}, fuji => {weight => '12lb', cost => '7'}); my @test = qw(granny_smith crabapple); foreach my $t (@test){ print "$t not found\n" unless $apples{$t}{weight} } print "\n-----------------------\n"; foreach my $a (keys %apples){ print "$a: weight: $apples{$a}{weight}\n"; } And what I get output is this: granny_smith not found crabapple not found ----------------------- granny_smith: weight: fuji: weight: 12lb crabapple: weight: red_delicious: weight: 15lb macintosh: weight: 10lb Now, what's driving me crazy is that the two test values are being added to the hash, simply by looking for $apples{$t}{weight}. If I simply look for $apples{$t}, like so: foreach my $t (@test){ print "$t not found\n" unless $apples{$t} } new hash members are not created. Why should this be? _______________________________________________ Boston-pm mailing list [EMAIL PROTECTED] http://mail.pm.org/mailman/listinfo/boston-pm