use strict; use warnings; use Data::Dumper; my @outputFiles; my $count = 1; setOutputFiles('captureID1','C:/temp/test.xml',4); getOutputFiles('captureID1'); sub setOutputFiles { my $captureId = shift; my $outputFile = shift; my $fileType = shift; $outputFiles[$count]{$captureId} = $outputFile; $outputFiles[$count]{'type'} = $fileType; print Dumper(\@outputFiles); } sub getOutputFiles { my $captureId = shift; my $count; # loop which will fetch me the $count of array @outputFiles # having the hash key $captureId. # End of Loop print $outputFiles[$count]{$captureId}; print "\n"; print $outputFiles[$count]{'type'}; }