my @dates = grep /$date/, @{ $countries{$cntry_of_issue} }; #### use warnings; use strict; use Data::Dumper; my %countries; while () { chomp; next if /^\s*$/ || /^\#/; my $aref = [split /,/, $_]; push( @{$countries{$aref->[2]}}, $aref->[5]); } my $date = 20100101; my $cntry_of_issue = 'CH'; my @dates = grep /$date/, @{ $countries{$cntry_of_issue} }; print Dumper(\@dates); __DATA__ 978,XBRN,CH,Berne Stock Exchange,2010,20100101 978,XBRN,CH,Berne Stock Exchange,2010,20100102 978,XBRN,CH,Berne Stock Exchange,2010,20100321 978,XBRN,CH,Berne Stock Exchange,2010,20100324 #### $VAR1 = [ '20100101' ];