If the file you want to examine does not fit in memory, you will have to remember two lines at a time.
while (<>) {
print unless ($_ eq "\n") && ($last ne "\n") && ($secondlast ne "\n"
+);
$secondlast = $last;
$last = $_;
}
update: This doesn't quite work. We'll have to deter deciding whether or not we will print the current line until we have examined the next line.
while (<>) {
$last = $this;
$this = $next;
$next = $_;
print $this unless ($last ne "\n") && ($this eq "\n") && ($next ne "
+\n");
}
print $next unless ($next eq "\n") && ($this ne "\n"); #last line is s
+pecial