If everything is in a single variable you could do it in one line like
#!perl
my $Data=<<HTMLend;
<HR>
1 is good<BR>
useless data<BR>
useless data<BR>
useless data<BR>
useless data<BR>
<HR>
2 is not good <BR>
useless data<BR>
useless data<BR>
useless data<BR>
useless data<BR>
<HR>
3 is good<BR>
useless data<BR>
useless data<BR>
useless data<BR>
useless data<BR>
<HR>
4 is not good <BR>
useless data<BR>
useless data<BR>
useless data<BR>
useless data<BR>
<HR>
HTMLend
@Results = grep {$_ =~ /is good/i} split (/<HR>/, $Data);
$" = "\n\n";
print "@Results";
Dave