Data::Serializer

Data::Serializer package contains modules that serialize data structures.
Download

Data::Serializer Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Neil Neely
  • Publisher web site:
  • http://search.cpan.org/~neely/Data-Validate-Domain-0.08/lib/Data/Validate/Domain.pm

Data::Serializer Tags


Data::Serializer Description

Data::Serializer package contains modules that serialize data structures. Data::Serializer package contains modules that serialize data structures.SYNOPSIS use Data::Serializer; $obj = Data::Serializer->new(); $obj = Data::Serializer->new( serializer => 'Storable', digester => 'MD5', cipher => 'DES', secret => 'my secret', compress => 1, ); $serialized = $obj->serialize({a => ,b => 5}); $deserialized = $obj->deserialize($serialized); print "$deserialized->{b}n";Provides a unified interface to the various serializing modules currently available. Adds the functionality of both compression and encryption.EXAMPLESPlease see Data::Serializer::Cookbook(3)METHODSnew - constructor $obj = Data::Serializer->new(); $obj = Data::Serializer->new( serializer => 'Data::Dumper', digester => 'SHA-256', cipher => 'Blowfish', secret => undef, portable => '1', compress => '0', serializer_token => '1', options => {}, );new is the constructor object for Data::Serializer objects.The default serializer is Data::DumperThe default digester is SHA-256The default cipher is BlowfishThe default secret is undefThe default portable is 1The default encoding is hexThe default compress is 0The default compressor is Compress::ZlibThe default serializer_token is 1The default options is {} (pass nothing on to serializer)serialize - serialize reference $serialized = $obj->serialize({a => ,b => 5});Serializes the reference specified.Will compress if compress is a true value.Will encrypt if secret is defined.deserialize - deserialize reference $deserialized = $obj->deserialize($serialized);Reverses the process of serialization and returns a copy of the original serialized reference.freeze - synonym for serialize $serialized = $obj->freeze({a => ,b => 5});thaw - synonym for deserialize $deserialized = $obj->thaw($serialized);raw_serialize - serialize reference in raw form $serialized = $obj->raw_serialize({a => ,b => 5});This is a straight pass through to the underlying serializer, nothing else is done. (no encoding, encryption, compression, etc)raw_deserialize - deserialize reference in raw form $deserialized = $obj->raw_deserialize($serialized);This is a straight pass through to the underlying serializer, nothing else is done. (no encoding, encryption, compression, etc)secret - specify secret for use with encryption $obj->secret('mysecret');Changes setting of secret for the Data::Serializer object. Can also be set in the constructor. If specified than the object will utilize encryption.portable - encodes/decodes serialized dataUses encoding method to ascii armor serialized dataAids in the portability of serialized data.compress - compression of dataCompresses serialized data. Default is not to use it. Will compress if set to a true value $obj->compress(1);serializer - change the serializerCurrently have 8 supported serializers: Storable, FreezeThaw, Data::Denter, Config::General, YAML, PHP::Serialization, XML::Dumper, and Data::Dumper.Default is to use Data::Dumper.Each serializer has its own caveat's about usage especially when dealing with cyclical data structures or CODE references. Please see the appropriate documentation in those modules for further information.cipher - change the cipher methodUtilizes Crypt::CBC and can support any cipher method that it supports.digester - change digesting methodUses Digest so can support any digesting method that it supports. Digesting function is used internally by the encryption routine as part of data verification.compressor - changes compresing moduleThis method is included for possible future inclusion of alternate compression method Currently Compress::Zlib is the only supported compressor.encoding - change encoding methodEncodes data structure in ascii friendly manner. Currently the only valid options are hex, or b64.The b64 option uses Base64 encoding provided by MIME::Base64, but strips out newlines.serializer_token - add usage hint to dataData::Serializer prepends a token that identifies what was used to process its data. This is used internally to allow runtime determination of how to extract Serialized data. Disabling this feature is not recommended.options - pass options through to underlying serializerCurrently is only supported by Config::General, and XML::Dumper. my $obj = Data::Serializer->new(serializer => 'Config::General', options => { -LowerCaseNames => 1, -UseApacheInclude => 1, -MergeDuplicateBlocks => 1, -AutoTrue => 1, -InterPolateVars => 1 }, ) or die "$!n"; or my $obj = Data::Serializer->new(serializer => 'XML::Dumper', options => { dtd => 1, } ) or die "$!n";store - serialize data and write it to a file (or file handle) $obj->store({a => ,b => 5},$file, ); or $obj->store({a => ,b => 5},$fh);Serializes the reference specified using the serialize method and writes it out to the specified file or filehandle.If a file path is specified you may specify an optional mode and permission as the next two arguments. See IO::File for examples.Trips an exception if it is unable to write to the specified file.retrieve - read data from file (or file handle) and return it after deserialization my $ref = $obj->retrieve($file); or my $ref = $obj->retrieve($fh);Reads first line of supplied file or filehandle and returns it deserialized. Requirements: · Perl


Data::Serializer Related Software