Closely related to deleting a line is deleting a group of
lines between two delimiters. Such cases are easily solved
with perl's "flip flop" operator. The following code will
not print out the lines between (and including) SKIP and
CONTINUE:
use strict;
use warnings;
while (<DATA>) {
print unless /^SKIP\s$/ .. /^CONTINUE\s$/;
}
__DATA__
one
two
SKIP
THOUGH THEY DAYS ARE FEW, THEY'RE FILLED WITH TEARS,
AND SINCE I LOST YOU IT FEELS LIKE YEARS.
YES, IT SEEMS SO LONG
GIRL, SINCE YOU'VE BEEN GONE,
AND I JUST CAN'T GO ON
IF YOU WON'T SEE ME, (you won't see me)
YOU WON'T SEE ME. (you won't see me)
© Northern Songs Ltd
CONTINUE
buckle my show (sic)
Read perlop to find out more about the
flip flop feature of the range operator.
jeffa
L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)
|