NAME
PSON - Serialize object to Perl code
SYNOPSIS
use PSON;
my $pson = encode_pson([]);
# $pson is `[]`
DESCRIPTION
PSON is yet another serialization library for Perl5, has the JSON.pm like interface.
STABILITY
This release is a prototype. Every API will change without notice.
(But, I may not remove encode_pson($scalar) interface. You can use this.)
I need your feedback. If you have ideas or comments, please report to Github Issues.
OBJECT-ORIENTED INTERFACE
The object oriented interface lets you configure your own encoding or decoding style, within the limits of supported formats.
-
$pson = PSON->new()
Creates a new PSON object that can be used to de/encode PSON strings. All boolean flags described below are by default disabled.
-
$pson = $pson->pretty([$enabled])This enables (or disables) all of the
indent,space_beforeandspace_after(and in the future possibly more) flags in one call to generate the most readable (or most compact) form possible. -
$pson->ascii([$enabled]) -
my $enabled = $pson->get_ascii()$pson = $pson->ascii([$enable]) $enabled = $pson->get_asciiIf $enable is true (or missing), then the encode method will not generate characters outside the code range 0..127. Any Unicode characters outside that range will be escaped using either a \x{XXXX} escape sequence.
If $enable is false, then the encode method will not escape Unicode characters unless required by the PSON syntax or other flags. This results in a faster and more compact format.
PSON->new->ascii(1)->encode([chr 0x10401]) => ["\x{10401}"]
PSON Spec
- PSON only supports UTF-8. Serialized PSON string must be UTF-8.
- PSON string must be eval-able.
LICENSE
Copyright (C) Tokuhiro Matsuno.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHOR
Tokuhiro Matsuno tokuhirom@gmail.com