NAME
   PHP::Serialization - simple flexible means of converting the output of
   PHP's serialize() into the equivalent Perl memory structure, and vice
   versa.

SYNOPSIS
       use PHP::Serialization qw(serialize unserialize);
       my $encoded = serialize({ a => 1, b => 2});
       my $hashref = unserialize($encoded);

DESCRIPTION
   Provides a simple, quick means of serializing perl memory structures
   (including object data!) into a format that PHP can deserialize() and
   access, and vice versa.

   NOTE: Converts PHP arrays into Perl Arrays when the PHP array used
   exclusively numeric indexes, and into Perl Hashes then the PHP array did
   not.

FUNCTIONS
   Exportable functions..

 serialize($var,[optional $asString,[optional $sortHashes]])
   Serializes the memory structure pointed to by $var, and returns a scalar
   value of encoded data.

   If the optional $asString is true, $var will be encoded as string if it
   is double or float.

   If the optional $sortHashes is true, all hashes will be sorted before
   serialization.

   NOTE: Will recursively encode objects, hashes, arrays, etc.

   SEE ALSO: ->encode()

 unserialize($encoded,[optional CLASS])
   Deserializes the encoded data in $encoded, and returns a value (be it a
   hashref, arrayref, scalar, etc) representing the data structure
   serialized in $encoded_string.

   If the optional CLASS is specified, any objects are blessed into
   CLASS::$serialized_class. Otherwise, O bjects are blessed into
   PHP::Serialization::Object::$serialized_class. (which has no methods)

   SEE ALSO: ->decode()

METHODS
   Functionality available if using the object interface..

 decode($encoded_string,[optional CLASS])
   Deserializes the encoded data in $encoded, and returns a value (be it a
   hashref, arrayref, scalar, etc) representing the data structure
   serialized in $encoded_string.

   If the optional CLASS is specified, any objects are blessed into
   CLASS::$serialized_class. Otherwise, Objects are blessed into
   PHP::Serialization::Object::$serialized_class. (which has no methods)

   SEE ALSO: unserialize()

 encode($reference,[optional $asString,[optional $sortHashes]])
   Serializes the memory structure pointed to by $reference, and returns a
   scalar value of encoded data.

   If the optional $asString is true, $reference will be encoded as string
   if it is double or float.

   If the optional $sortHashes is true, all hashes will be sorted before
   serialization.

   NOTE: Will recursively encode objects, hashes, arrays, etc.

   SEE ALSO: serialize()

TODO
   Support diffrent object types

AUTHOR INFORMATION
   Copyright (c) 2003 Jesse Brown <[email protected]>. All rights reserved.
   This program is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.

   Various patches contributed by assorted authors on rt.cpan.org (as
   detailed in Changes file).

   Currently maintained by Tomas Doran <[email protected]>.

   Rewritten to solve all known bugs by Bjørn-Olav Strand <[email protected]>