my $remove = 0; while ( <> ) { if ( $remove ) { # don't print $remove = 0 if /^\*\*End Temp \*\*/; } elsif ( /^\*\*Temp\*\*/ ) { $remove = 1; } else { print $_; } }