"Fossies" - the Fresh Open Source Software Archive

Member "Apache-Session-1.93/lib/Apache/Session/Serialize/Storable.pm" (15 Sep 2009, 1589 Bytes) of package /linux/www/Apache-Session-1.93.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Perl source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "Storable.pm" see the Fossies "Dox" file reference documentation.

    1 #############################################################################
    2 #
    3 # Apache::Session::Serialize::Storable
    4 # Serializes session objects using Storable
    5 # Copyright(c) 2000 Jeffrey William Baker (jwbaker@acm.org)
    6 # Distribute under the Perl License
    7 #
    8 ############################################################################
    9 
   10 package Apache::Session::Serialize::Storable;
   11 
   12 use strict;
   13 use vars qw($VERSION);
   14 use Storable qw(nfreeze thaw);
   15 
   16 $VERSION = '1.01';
   17 
   18 sub serialize {
   19     my $session = shift;
   20     
   21     $session->{serialized} = nfreeze $session->{data};
   22 }
   23 
   24 sub unserialize {
   25     my $session = shift;
   26     
   27     my $data = thaw $session->{serialized};
   28     die "Session could not be unserialized" unless defined $data;
   29     #Storable can return undef or die for different errors
   30     $session->{data} = $data;
   31 }
   32 
   33 1;
   34 
   35 =pod
   36 
   37 =head1 NAME
   38 
   39 Apache::Session::Serialize::Storable - Use Storable to zip up persistent data
   40 
   41 =head1 SYNOPSIS
   42 
   43  use Apache::Session::Serialize::Storable;
   44 
   45  $zipped = Apache::Session::Serialize::Storable::serialize($ref);
   46  $ref = Apache::Session::Serialize::Storable::unserialize($zipped);
   47 
   48 =head1 DESCRIPTION
   49 
   50 This module fulfills the serialization interface of Apache::Session.
   51 It serializes the data in the session object by use of Storable's
   52 C<nfreeze()> and C<thaw()> functions.  The result is a binary object ready
   53 for storage.
   54 
   55 =head1 AUTHOR
   56 
   57 This module was written by Jeffrey William Baker <jwbaker@acm.org>.
   58 
   59 =head1 SEE ALSO
   60 
   61 L<Apache::Session::Serialize::Base64>, L<Apache::Session>