my %hash; foreach my $val(@array){ push @{$hash{$val}}, database_call($val) } #### foreach(@{$hash{$val}}){ print $_ } #to find a particular item in a particular array print $hash{$val}[$arrayid]