Hello Chris,
Wednesday, August 22, 2007, 7:44:02 AM, you wrote:
> I am working a script that is a solution to a problem in Intermediate
> Perl. Here is the script:
> #!/usr/bin/perl -w
> use strict;
> sub check_items_for_all {
> my $all_ref = @_;
here is the first err: you should have smthing like
my ($all_ref) = @_;
or
my $all_ref = shift @_;
> my @who = keys %$all_ref;
> my @required = qw(preserver sunscreen water_bottle jacket);
> my @missing = ( );
> for my $crew (@who){
> for my $item(@required){
> unless (grep $item eq $_, %$all_ref{$crew}) {
this does the job well (I think :) )
unless (grep $item eq $_, $all_ref->{$crew}) {
> print "$crew is missing $item.\n";
> #push @missing, $item;
> }
> }
> }
> #if (@missing) {
> # print "Adding @missing to @$items for $who.\n";
> # push @$items, @missing;
> #}
> }
> my @gilligan = qw(red_shirt hat lucky_socks water_bottle);
> my @skipper = qw(blue_shirt hat jacket 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);
> When I run the script, I get the following error message:
> syntax error at required_items.pl line 13, near "$all_ref{"
> syntax error at required_items.pl line 18, near "}"
> I'm not sure what is causing this. Eventually, I want the script to
> access each crew member's belongings, figure out which of the items in
> the @required array are missing, and place those items in the member's
> array. Any hints?
--
Best regards,
Alexandru mailto:[EMAIL PROTECTED]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/