in reply to Keys and Values from Hash
There has to be a way, to store the values for each customer into a variable $money_spent.
Do you want to store the value for each customer, or an aggregate? If the former, use a hash;
my %money_spent = (); foreach my $customer (keys %myHash) { $money_spent{$customer} = $myHash{$customer}->{"money"}; }
If the latter, simply sum the values:
my $money_spent = 0; foreach my $customer (keys %myHash) { $money_spent += $myHash{$customer}->{"money"}; }
You can also use map to do this in a more concise fashion. Per-customer hash:
my %money_spent = map { $_ => $myHash{$_}->{"money"} } keys %myHash;
Aggregate (using the sum function from List::Util):
use List::Util qw/sum/; # ... my $money_spent = sum map { $myHash{$_}->{"money"} } keys %myHash;
Or do you want to do something else entirely?
EDIT: note that the above snippets assume that %myHash looks something like this:
my %myHash = ( "Fred Flintstone" => { "money" => 1000, "wife" => "Wilma", }, "Barney Rubble" => { "money" => 2000, "wife" => "Betty", }, );
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Keys and Values from Hash
by David92 (Sexton) on Jul 18, 2014 at 12:56 UTC | |
by AppleFritter (Vicar) on Jul 18, 2014 at 13:02 UTC | |
by David92 (Sexton) on Jul 18, 2014 at 13:06 UTC | |
by AppleFritter (Vicar) on Jul 18, 2014 at 13:22 UTC | |
by poj (Abbot) on Jul 18, 2014 at 17:35 UTC |