while(<>) { next if (/line that i want to skip/); $skip=1 if(/line marking beginning of skip block/); $skip=0 if(/line marking end of skip block/); print unless ($skip || ($.<$startline && $.>endline); }