The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

JE::String - JavaScript string value

SYNOPSIS

  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;

DESCRIPTION

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.

THE FUNCTION

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}"

SEE ALSO

JE
JE::Types
JE::Object::String