$^I = ".bak"; @ARGV = "test.txt"; while(<>) { if( /^\s+Tag {/ .. /^\s+}/ ) { next unless /^(\s+Name[^"]*)"([^"]+)"/; my ( $directive, $value ) = ( $1, $2 ); $value = s/\s+//g; $_ = $directive . qq["$value"\n]; } print; }