in reply to question about multi value hash key
I'm not quite clear on what you're trying to do. It sounds as if maybe you have more than one conference at a time, and you want to store them all under the same hash key.
I suggest that you work with hash references that contain all of the conference information in one hash.
{ time => $time, conference => $value1, type => $value2, comment => $value3, }
You can take one of those and stick it in a hash of arrays (of hashes) or just have an array of them.
push @AoH, { time => $t, conference => $v1, ... };
Then you can sort the array by time when you want to output them.
my @sorted_AoH = sort { $_->{time} <=> $_->{time} } @AoH; foreach my $conf ( @sorted_AoH ) { my $time = $conf->{time}; print ... # element }
If you need random access to these records by time, then you can put them in a hash as you have them but add a layer of array to it.
push @{ $hash{$time} }, { time => $time, type => $v2, ... };
Then you need an extra loop when dealing with them.
for my $time ( sort keys %hash ) { for my $conf ( @{ $hash{ $time } } ) { print ... # $conf element } }
Again, I'm not clear from your description what you're trying to do, but maybe this gives you some ideas.
|
---|