Manual Reference Pages - SEREAL (3)
Sereal - Fast, compact, powerful binary (de-)serialization
use Sereal qw(encode_sereal decode_sereal
# Note: For performance reasons, you should prefer the OO interface,
# or sereal_(en|de)code_with_object over the stateless
# encode_sereal/decode_sereal functions.
# See the Sereal::Performance documentation for details.
Sereal is an efficient, compact-output, binary and feature-rich
serialization protocol. The Perl encoder is implemented as the
Sereal::Encoder module, the Perl decoder correspondingly as
Sereal::Decoder. They are distributed separately to allow for
safe upgrading without downtime. (Hint: Upgrade the decoder everywhere
first, then the encoder.)
This Sereal module is a very thin wrapper around both Sereal::Encoder
and Sereal::Decoder. It depends on both and loads both. So if you have
a user of both encoder and decoder, it is enough to depend on a particular
version of Sereal and youll get the most recent released versions
of Sereal::Encoder and Sereal::Decoder whose version is smaller than
or equal to the version of Sereal you depend on.
The protocol specification and many other bits of documentation
can be found in the github repository. Right now, the specification is at
there is a discussion of the design objectives in
<https://github.com/Sereal/Sereal/blob/master/README.pod>, and the output
of our benchmarks can be seen at
It is recommended to use the object-oriented interface of
Sereal::Encoder and Sereal::Decoder if you care about
performance. For detailed performance considerations,
You can optionally import five functions from Sereal.
encode_sereal is the same function as Sereal::Encoders
encode_sereal function. decode_sereal and looks_like_sereal
are the same as Sereal::Decoders functions of the same names.
Finally, you can import the advanced functional interface
sereal_encode_with_object and sereal_decode_with_object.
Again, see Sereal::Performance for information about those.
After loading the Sereal module, both Sereal::Encoder and
Sereal::Decoder are guaranteed to be loaded, so you can use
their object-oriented interface.
BUGS, CONTACT AND SUPPORT
For reporting bugs, please use the github bug tracker at
For support and discussion of Sereal, there are two Google Groups:
Announcements around Sereal (extremely low volume):
Sereal development list:
Steffen Mueller <firstname.lastname@example.org>
This module was originally developed for Booking.com.
With approval from Booking.com, this module was generalized
and published on CPAN, for which the authors would like to express
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.
COPYRIGHT AND LICENSE
Copyright (C) 2012, 2013, 2014 by Steffen Mueller
|perl v5.20.3 ||SEREAL (3) ||2015-12-06 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.