Something like this?
use Modern::Perl; use Data::Dumper; my @field_names; my %master_hash; while (<DATA>) { chomp; if (1..1) { @field_names = split /\t/ and next; } my %this_hash; my @values = split /\t/; @this_hash{ @field_names } = @values; $master_hash{$values[0]} = \%this_hash; } print Dumper \%master_hash; __DATA__ Name Pet monkey John Biggles Steve Bubbles Henry Binky
In your particular example, this line is wrong:
$tickets { $values[0] } = %tmp_hash;You're trying to assign a hash into a scalar slot. You need to assign a reference to the hash instead:
$tickets { $values[0] } = \%tmp_hash;See perldoc perlref and perldoc perllol.
In reply to Re: Storing a Hash Made of Two Arrays in Another Hash
by tobyink
in thread Storing a Hash Made of Two Arrays in Another Hash
by BJ_Covert_Action
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |