String::JS - Utilities for Javascript string literal representation


This document describes version 0.03 of String::JS (from Perl distribution String-JS), released on 2016-03-11.


encode_js_string($str[, $mode]) => STR

Encode Perl string $str to its JavaScript literal representation using double quotes ("). This is currently implemented using JSON encoding.

If $mode is set to 1, will produce literal representation using single quotes (') instead.

If $mode is set to 2, will produce single-quoted JS string to be put inside a double-quoted JS string literal, useful for producing for example jQuery expression like:

 $("h2.contains('this is JS string inside another JS string')")

Will die on failure.

decode_js_string($js_str) => STR

Given a JavaScript string literal representation in $js_str, decode to get the value.

Currently implemented using JSON decoding of stringified $js_str.

Currently does not support JavaScript string representation that uses single quotes (').

Will die on failure.


Please visit the project's homepage at


Source repository is at


Please report any bugs or feature requests on the bugtracker website

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.


perlancar <>


This software is copyright (c) 2016 by

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.