while (<>) { ... # your program goes here } continue { print or die "-p destination: $!\n"; } #### use strict; use warnings; my @files = @ARGV; $^I = '.bak'; for my $file (@files) { local $/; @ARGV = $file; while (<>) { s/\n\n/\n/gs; print; } }