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