in reply to searching data lines between keywords

Look into the "scalar-context version" of the .. operator in perlop. E.g.

while ( <> ) { if ( my $c = /^(mykeyword1|mykeyword2)$/../^\Q***END***\E$/ ) { next if $c == 1 || $c =~ /E/; print; } }

Update: Simplified second regexp slightly.

the lowliest monk