my $out = ''; for ($in) { /\G ([^\\]+) /xgc && ( $out .= $1 ); /\G \\u([0-9A-Fa-f]{4})/xgc && do { $out .= chr(hex($1)); redo; }; /\G \\(.) /xgc && do { $out .= $1; redo; }; }