Perl Diver 2.33
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

Data::Serializer::Raw

Name Data::Serializer::Raw
Version 0.02
Located at /usr/share/perl5
File /usr/share/perl5/Data/Serializer/Raw.pm
Is Core No
Search CPAN for this module Data::Serializer::Raw
Documentation Data::Serializer::Raw
Module Details Data::Serializer::Raw


NAME


Data::Serializer::Raw - Provides unified raw interface to perl serializers

=head1 SYNOPSIS

  use Data::Serializer::Raw;

  $obj = Data::Serializer::Raw->new();

  $obj = Data::Serializer::Raw->new(serializer => 'Storable');
  $serialized = $obj->serialize({a => [1,2,3],b => 5});
  $deserialized = $obj->deserialize($serialized);
  print "$deserialized->{b}\n";


DESCRIPTION

Provides a unified interface to the various serializing modules currently available.

This is a straight pass through to the underlying serializer, nothing else is done. (no encoding, encryption, compression, etc)


=head1 EXAMPLES
Please see Data::Serializer::Cookbook(3)


METHODS

new - constructor
  $obj = Data::Serializer::Raw->new();
  $obj = Data::Serializer::Raw->new(
                         serializer => 'Data::Dumper',
                           options  => {},
                        );

new is the constructor object for Data::Serializer::Raw objects.

The default serializer is Data::Dumper

The default options is {} (pass nothing on to serializer)

serialize - serialize reference

  $serialized = $obj->serialize({a => [1,2,3],b => 5});

This is a straight pass through to the underlying serializer,
nothing else is done. (no encoding, encryption, compression, etc)
deserialize - deserialize reference
  $deserialized = $obj->deserialize($serialized);

This is a straight pass through to the underlying serializer,
nothing else is done. (no encoding, encryption, compression, etc)
serializer - change the serializer
Currently supports the following serializers:
Bencode(3)
the Convert::Bencode(3) manpageConvert::Bencode(3)
Convert::Bencode_XS(3)
Config::General(3)
Data::Denter(3)
Data::Dumper(3)
Data::Taxi(3)
FreezeThaw(3)
JSON(3)
JSON::Syck(3)
PHP::Serialization(3)
Storable(3)
the XML::Dumper(3) manpageXML::Dumper(3)
XML::Simple(3)
YAML(3)
the YAML::Syck(3) manpageYAML::Syck(3)

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.

options - pass options through to underlying serializer
Currently is only supported by the Config::General(3) manpage, and the XML::Dumper(3) manpage.
  my $obj = Data::Serializer::Raw->new(serializer => 'Config::General',
                                  options    => {
                                             -LowerCaseNames       => 1,
                                             -UseApacheInclude     => 1,
                                             -MergeDuplicateBlocks => 1,
                                             -AutoTrue             => 1,
                                             -InterPolateVars      => 1
                                                },
                                              ) or die "$!\n";
  or
  my $obj = Data::Serializer::Raw->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 => [1,2,3],b => 5},$file, [$mode, $perm]);
  or
  $obj->store({a => [1,2,3],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 the IO::File manpage 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 deserializationretrieve - 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.


AUTHOR

Neil Neely <neil@neely.cx>.

http://neil-neely.blogspot.com/


BUGS

Please report all bugs here:

http://rt.cpan.org/Public/Dist/Display.html?Name=Data-Serializer


COPYRIGHT AND LICENSE

Copyright (c) 2011 Neil Neely. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.2 or, at your option, any later version of Perl 5 you may have available.

See http://www.perl.com/language/misc/Artistic.html


ACKNOWLEDGEMENTS

Peter Makholm took the time to profile the Data::Serializer(3) manpage and pointed out the value of having a very lean implementation that minimized overhead and just used the raw underlying serializers.


SEE ALSO

perl(1), Data::Serializer(3).

Perl Diver brought to you by ScriptSolutions.com © 1997- 2026