JE::String(3) JavaScript string value


use JE;
use JE::String;
$j = JE->new;
$js_str = new JE::String $j, "etetfyoyfoht";
$perl_str = $js_str->value;
$js_str->to_object; # retuns a new JE::String::Object;


This class implements JavaScript string values for JE. The difference in use between this and JE::Object::String is that that module implements string objects, while this module implements the primitive values.

The stringification operator is overloaded.


There are two exportable functions, "surrogify" and "desurrogify", which convert characters outside the BMP into surrogate pairs, and convert surrogate pairs in the string input argument into the characters they represent, respectively, and return the modified string. E.g.:

  use JE::String qw 'desurrogify surrogify';
          no warnings 'utf8';
          $str = "\x{d834}\x{dd2b}";
  $str = desurrogify $str;  # $str now contains "\x{1d12b}" (double flat)
  $str = surrogify $str;    # back to "\x{d834}\x{dd2b}"