#!/usr/bin/perl use strict; use warnings; my %mycorpus = ( a => " "blah title:#this is text I do not want# blah title:#this is text I want 2# blah title:#this is text I do not want# blah", c => "blah blah title:#this is text I want 3# title:#this is text I do not want# title:#this is text I do not want# title:#this is text I do not want# blah", ); foreach my $filename (sort keys %mycorpus) { foreach my $line (split /\n/,$mycorpus{$filename}) { if ($line =~ /^title:#(.*)#\s*$/) { print "$line\n"; last; } } } __END__ title:#this is text I want 1# title:#this is text I want 2# title:#this is text I want 3#