perl, flip-flop. , - , pattern1 pattern2:
pattern1 pattern2, pattern3 pattern1 Pattern3
, pattern1 pattern2, pattern3 , pattern1. > .
, perl -p
-n assume "while (<>) { ... }" loop around program
-p assume loop like -n but print line also, like sed
, , ..
perl -pe'$x ||= /7/; $_= "" if /5/ .. /8/ and $x' <(seq 1 10)
1
2
3
4
5
6
9
10
$x ||= /7/: $x /7/, $x false. /7/ true, . , $x true, ||= , .
$_ = '', /5/ /8/, $x true. , : a && b run b, a true. a -- - , ; , , $_ = '' , 7.
, quesiton ...
perl -pe'$x ||= /7/; $_= "" if $x and /5/ .. /8/' <(seq 1 10)
. Perl /5/, /7/. .
, , ...
perl -pe'$x||=/2/;$_=""if$x&&/5/../8/'