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.