use warnings; use strict; my $exclre = qr/(?:ls?|man|cat)\b/; $/ = "\n#"; while (<>) { s/\n#?\z//; print /\A#/?():'#', $_, "\n" unless /\A#?\d+\n$exclre(?!.*\n)/; }