http://www.perlmonks.org?node_id=464239


in reply to Complex Data Structure Suggestions Wanted

the if... else can be expressed a bit more elegantly:
@{$HashRef->{$ItemId}} ||= []; push @{$HashRef->{$ItemId}}, $DataSource;
apart from that: the notation of variable names you chose is not perlish. in perl you mix capital and small letters only for class names: package MyClass; vs:  my $hash_ref;

language is a virus from outer space.