eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
  if $running_under_some_shell;

if(scalar(@ARGV) < 1) {
    print "usage: ... file1 [file2 ...]\n";
    exit(1);
}

foreach $file (@ARGV) {
    open(FILE, "$file") || die "Cannot open $file";
    open(FILE_TMP, ">$file.tmp") || die "Cannot create $file.tmp";

    $prev = "";
    while ($line = <FILE>) {
        # print non-blank lines
        if ($line =~ /[\S*]/) {
            # if previous line is "    }" but not at end print a blank line
            if (!($line =~ /^\}/) && $prev =~ /^    \}/) {
                print FILE_TMP "\n";
            }
            print FILE_TMP $line;
            $prev = $line;
        } elsif (!$prev) {
            print FILE_TMP "\n";
            $prev = "";
        }
    }

    close(FILE_TMP);
    close(FILE);

    unlink("$file");
    rename("$file.tmp", "$file");
}

exit 0;
