The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Data::Serializable - Moose-based role that adds serialization support to any class

VERSION

Version 0.01

SYNOPSIS

    package MyClass;
    use Moose;
    with 'Data::Serializable';
    
    package main;
    my $obj = MyClass->new( serializer_module => 'JSON' );
    my $json = $obj->serialize( "Foo" );
    ...
    my $str = $obj->deserialize( $json );

DESCRIPTION

A Moose-based role that enables the consumer to easily serialize/deserialize data structures. The default serializer is Storable, but any serializer in the Data::Serializer hierarchy can be used automatically. You can even install your own custom serializer if the pre-defined ones are not useful for you.

EXPORT

This is a Moose-based role. It doesn't export anything to normal perl modules.

ATTRIBUTES

throws_exception

Defines if methods should throw exceptions or return undef. Default is to throw exceptions. Override default value like this:

    has '+throws_expection' => ( default => 0 );

serializer_module

Name of a predefined module that you wish to use for serialization. Any submodule of Data::Serializer is automatically supported. The built-in support for Storable doesn't require Data::Serializer.

serializer

If none of the predefined serializers work for you, you can install your own. This should be a code reference that takes one argument (the message to encode) and returns a scalar back to the caller with the serialized data.

deserializer

Same as serializer, but to decode the data.

METHODS

serialize($message)

Runs the serializer on the specified argument.

deserialize($message)

Runs the deserializer on the specified argument.

AUTHOR

Robin Smidsrød, <robin at smidsrod.no>

BUGS

Please report any bugs or feature requests to bug-data-serializable at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Data-Serializable. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Data::Serializable

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2009 Robin Smidsrød

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

SEE ALSO

Moose::Manual::Roles, Data::Serializer

1 POD Error

The following errors were encountered while parsing the POD:

Around line 240:

Non-ASCII character seen before =encoding in 'Smidsrød,'. Assuming UTF-8