Je55eah has asked for the wisdom of the Perl Monks concerning the following question:
use strict; use warnings; my %v; $v{hourly_worker_expenses} = { # elaborate on this ! 'all' => 16 }; $v{hourly_worker_cost} = &{sub { my $cost = 0; my $item; my %costs = $v{hourly_worker_expenses} +; #print %costs; foreach $item ($costs) { $cost += $costs{$item}; } #print $cost; return $cost; } }(); print $v{hourly_worker_cost};
There is something about hashes that is screwing me up. Thanks,
Global symbol "$costs" requires explicit package name at test.pl line +13. Execution of test.pl aborted due to compilation errors.
I have tried so many different things, but here are some of them:
my %costs = \$v{hourly_worker_expenses}; my $costs = $v{hourly_worker_expenses}; my $costs = \$v{hourly_worker_expenses}; I originally didn't even mess around with the $costs/%costs hash and I + tried to do the += with $cost and $v{hourly_worker_expenses}
Thanks for looking,
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Please help me find my error.
by muba (Priest) on Jun 21, 2012 at 23:25 UTC | |
|
Re: Please help me find my error.
by Je55eah (Novice) on Jun 22, 2012 at 00:07 UTC | |
by Je55eah (Novice) on Jun 22, 2012 at 00:13 UTC | |
|
Re: Please help me find my error.
by Anonymous Monk on Jun 21, 2012 at 23:31 UTC |