use strict; use warnings; use File::Basename; use IO::File; my $iam = basename $0; (my $fname = shift) or die "syntax: $iam \n"; my $fh = new IO::File($fname) or die "$iam: can't read $fname ($!)\n"; undef $/; # Read file into a single line (my $line = <$fh>) =~ s/\n(\s*\n){2,}/\n\n/g; # Delete extra blank lines printf "%s\n", $line; # Show the result