open my $fh,'<', $filename or die $!; my $flag; while( <$fh> ){ unless( $flag ){ next unless /^start_mark/; $flag = 1; } elsif( /^end_mark/ ){ $flag = 0; } } continue { print if $flag } close $fh;