Acme::PSON - PSON(PerlScript Object Notation) Module


Acme-PSON documentation Contained in the Acme-PSON distribution.

Index


Code Index:

NAME

Top

Acme::PSON - PSON(PerlScript Object Notation) Module

SYNOPSIS

Top

 use Acme::PSON qw(obj2pson pson2obj);

 my $data = { x=> 'adfs' , y => 'adf' };

 my $pson = obj2pson( $data );

 my $obj  = pson2obj( $pson );

DESCRIPTION

Top

Like JSON but use Dumper.

METHOD

Top

obj2pson( $object )

get pson data.

pson2obj( $pson )

get hash_ref or array_ref.

AUTHOR

Top

Masahiro Funakoshi <masap@cpan.org>

Tomohiro Teranishi <tomohiro.teranishi@gmail.com>

COPYRIGHT AND LICENSE

Top


Acme-PSON documentation Contained in the Acme-PSON distribution.

package Acme::PSON;

use strict;
use warnings;

our $VERSION = '0.05';

use strict;
use warnings;
use vars qw( @EXPORT_OK );
use Carp;
use Data::Dumper;
use Exporter::Lite;
@EXPORT_OK = qw(obj2pson pson2obj);

use Readonly;
Readonly my $VARNAME => 'PSON_VALUE';

sub obj2pson {
    my $obj = shift;

    local $Data::Dumper::Indent  = 0;
    local $Data::Dumper::Varname = $VARNAME;
    return Dumper($obj);
}

sub pson2obj {
    my $str = shift;

    no strict;

    &_is_dumpeddata($str) ? eval($str) : croak "No PSON Data!";
}

sub _is_dumpeddata {
    my $str = shift;

    return ( $str =~ /^\$$VARNAME/ ) ? 1 : 0;
}

1;