$VAR1 = sub { package Data::JavaScript; use strict 'refs'; local $_ = shift @_; if ($OPT{'JS'} >= 1.3 and &Encode::is_utf8($_)) { s/([\x{0080}-\x{fffd}]+)/sprintf '\\u%0*v4X', '\\u', $1;/eg; } { use bytes; s/((?:[^ \x21-\x7E]|(?:\\(?!u)))+)/sprintf '\\x%0*v2X', '\\x', $1;/eg; } s/\\x09/\\t/g; s/\\x0A/\\n/g; s/\\x0D/\\r/g; s/"/\\"/g; s/\\x5C/\\\\/g; s[][\\x3C\\x2Fscript\\x3E]g; return $_; }; print 'alert("', $VAR1->(qq,ab\x22q\x27uo\x27te\x22cd,), '");',"\n"; __END__ alert("ab\"q'uo'te\"cd");