use strict; use warnings; while () { print unless ( /^Header1$/ .. /^END LIST$/ ); } __DATA__ Header1 1 2 3 4 5 3 2 43 43 END LIST Header2 2 42 24 2 32 2 32 2 2 4 2 3 END LIST Header1 2 43 43 END LIST Header3 2 3 4 32 3 4 3 43 END LIST Header1 1 2 3 4 5 3 2 43 43 END LIST