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 <jbrown@cpan.org>. 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 <bobtfish@bobtfish.net>.

    Rewritten to solve all known bugs by Bjørn-Olav Strand <bolav@cpan.org>

