my $p = qr{\s(")?(\w+):(\w)((([^"\n]*)")|([^\s\n]*)([\s\n]))}; s|$p| " $2:$3" . ( ($1 && $5) ? "$6" : "$7$8" ) |eg;