--- "Johnson, Reginald (GTI)" <[EMAIL PROTECTED]>
wrote:
> 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
Hi,
1) add line use warnings; after line use strict;
2) change %all( which is a hash) into $all_ref(which
is a hash reference)
3) Are the following what you expect?
###output #########
this is person=>Gilligan
this is who=>Gilligan
Gilligan is missing preserver
Gilligan is missing sunscreen
Gilligan is missing jacket
this is person=>Professor
this is who=>Professor
Professor is missing preserver
Professor is missing jacket
this is person=>Skipper
this is who=>Skipper
Skipper is missing water_bottle
Skipper is missing jacket
Li
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>