#!/usr/bin/perl use warnings; use strict; @ARGV > 1 or die "usage: $0 <> <>\n\n"; open my $OUT, '>', 'final_file.dat' or die "Cannot open 'final_file.dat' because: $!"; while ( <> ) { if ( /^\}$/ .. /^\s+.*\{$/ ) { print $OUT $_ if /^\s+.*\{$/; next; } print $OUT $_; } print $OUT "}\n";