#!/usr/bin/perl use strict; my ($line, @keep); for $line ((split(/
\s+/s, join('', ())))) { if ($line =~ m{\d+\s+is\s+good}) { push (@keep, $line); } } for $line (@keep) { print "$line\n"; } __DATA__
1 is good
useless data
useless data
useless data
useless data

2 is not good
useless data
useless data
useless data
useless data

3 is good
useless data
useless data
useless data
useless data

4 is not good
useless data
useless data
useless data
useless data