my %entry = ($item_id=>\@data, $item_id=>\@data); print $entry{$i}->[$j]; # contents of the hash ({}) are array references; we use -> to work with references; then we use [] to work with arrays # OR: my $reference = {$item_id=>\@data, $item_id=>\@data}; print $entry->{$i}->[$j]; # firstly, $entry is a reference to a hash, use -> # secondly, hash contents are accessed using {} # thirdly, it's again a reference # fourthly, arrays are accessed using []