while ( $mycorpus{$filename} =~ /date:#(\d+)#/g ) { $date = $1; } #### while ( $mycorpus{$filename} =~ /comment:#(.*?)#/g ) { my $dataset = $1; while ($dataset =~ /(\w+) (?= ( (?:\s\w+){4} ) )/gx) { $counts{$date}{"$1 $2"}++; } }