in reply to help with this snippet: if($.==2||$&&&!$s++)

Tip #6 from the Basic debugging checklist... B::Deparse
while (defined($_ = <ARGV>)) { print $_ if $. == 2 or $& and not $s++; $. = 0 if /^-+$/; }