I am doing an example from Perl Objects, References & modules. I suspect
many of you already use this book as a reference.
My hash is showing the address instead of the name and I'm not sure
why. Here is my output.
this is person=>HASH(0x20040014)
this is who=>HASH(0x20040014)
HASH(0x20040014) is missing preserver
HASH(0x20040014) is missing sunscreen
HASH(0x20040014) is missing water_bottle
HASH(0x20040014) is missing jacket
Here is the code
#!/usr/bin/perl
use strict;
my @gilligan = qw(red_shirt hat lucky_socks water_bottle);
my @skipper = qw ( blue_shirt hat preserver sunscreen);
my @professor = qw(sunscreen water_bottle slide_rule batteries
radio);
my %all = {
"Gilligan" => [EMAIL PROTECTED],
"Skipper" => [EMAIL PROTECTED],
"Professor" => [EMAIL PROTECTED],
};
check_items_for_all(\%all);
sub check_items_for_all{
my $all = shift;
for my $person(sort keys %$all) {
print "this is person=>$person\n";
check_items_required($person, $all->{$person});
} #end for
} #end check_items_for_all
sub check_items_required {
my $who = shift;
print "this is who=>$who\n";
my $items = shift;
my @required = qw(preserver sunscreen water_bottle
jacket);
for my $item (@required) {
unless (grep $item eq $_, @$items) { #if
statement is false
print "$who is missing $item\n";
} #end unless
} #end for
} #end sub
Reggie Johnson
TSM Admin