Provided by: libcatmandu-perl_1.2020-1_all
NAME
Catmandu::Serializer - Base class for all Catmandu Serializers
SYNOPSIS
package Catmandu::Serializer::Foo; use Moo; sub serialize { my ($self,$data) = @_; .. transform the data to a string and return it... } sub deserialize { my ($self,$string) = @_; ... transform the string into a perl hash ... } package MyPackage; use Moo; with 'Catmandu::Serializer'; package main; my $pkg = MyPackage->new; my $string = $pkg->serialize({ foo => 'bar' }); my $perl = $pkg->deserialize($string); # Using Catmandu::Serializer::Foo my $pkg = MyPackage->new( serialization_format => 'Foo' ); my $string = $pkg->serialize({ foo => 'bar' }); my $perl = $pkg->deserialize($string);
DESCRIPTION
This is a convience class to send Perl hashes easily over the wire without having to instantiate a Catmandu::Importer and Catmandu::Exporter which are more suited for processing IO streams.
ATTRIBUTES
serialization_format
The name of the package that serializes data.
serializer
An instance of the package that serializes.
METHODS
serialize($perl) Serialize a perl data structure into a string. deserialize($bytes) Deserialize bytes into a perl data structure.
SEE ALSO
Catmandu::Store::DBI, Catmandu::Serializer::json, Catmandu::Serializer::storabe, Catmandu::Serializer::messagepack