my $last_entry; while (<>) { if (/^\s/) { $last_entry .= $_; } else { print $last_entry if $last_entry =~ /keyword/; $last_entry = $_; } print $last_entry if $last_entry =~ /keyword/ && eof(IN); }