{ local $/; # go to slurp mode for input open( I, "<", "my_source_code" ) or die "my_source_code: $!"; $_ = ; close I; s/(if.*?)\s+{/$1 {/g; # fix spacing/line-breaks for "if .... {" open( O, ">", "my_new_source_code" ) or die "my_new_source_code: $!"; print O; close O; } #### if ( "blah { blah } blah" ) { ... #### s/(if.*?\))[ \r\t]*\n\s+{/$1 {/; # fix spacing/line-breaks for "if (...) {"