my $message= ''; while( <> ) { if( ! /^\d{4}-\d\d-\d\d / ) { $message .= $_; } else { print $message if( $message =~ /keyword/ ); $message= $_; } } print $message if( $message =~ /keyword/ ); #### my $line= <>; while( defined $line ) { my $message= ''; do { $message .= $line; } while( defined( $line= <> ) && $line !~ /^\d{4}-\d\d-\d\d / ); print $message if( $message =~ /keyword/ ); }