#!/usr/bin/perl -w use strict; my @foo; $/=""; $_ = ; while (s/(\d+ is good.*?)
//s) { push @foo, $1; } print $_, "\n--------------\n" foreach (@foo); __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