--- "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>


Reply via email to