"Fossies" - the Fresh Open Source Software Archive

Member "Apache-Session-1.93/lib/Apache/Session/Serialize/UUEncode.pm" (15 Sep 2009, 1805 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 "UUEncode.pm" see the Fossies "Dox" file reference documentation.

    1 #############################################################################
    2 #
    3 # Apache::Session::Serialize::UUEncode
    4 # Serializes session objects using Storable and pack
    5 # Copyright(c) 2000 Jeffrey William Baker (jwbaker@acm.org)
    6 # Distribute under the Perl License
    7 #
    8 ############################################################################
    9 
   10 package Apache::Session::Serialize::UUEncode;
   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} = pack("u", nfreeze($session->{data}));
   22 }
   23 
   24 sub unserialize {
   25     my $session = shift;
   26     
   27     my $data = thaw(unpack("u", $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::UUEncode - Use Storable and C<pack()>
   40 to zip up persistent data
   41 
   42 =head1 SYNOPSIS
   43 
   44  use Apache::Session::Serialize::UUEncode;
   45 
   46  $zipped = Apache::Session::Serialize::UUEncode::serialize($ref);
   47  $ref = Apache::Session::Serialize::UUEncode::unserialize($zipped);
   48 
   49 =head1 DESCRIPTION
   50 
   51 This module fulfills the serialization interface of Apache::Session. It
   52 serializes the data in the session object by use of Storable's C<nfreeze()> and
   53 C<thaw()> functions, and Perl's C<pack()> and C<unpack()>.  The serialized data
   54 is ASCII text, suitable for storage in backing stores that don't handle binary
   55 data gracefully, such as Postgres.
   56 
   57 =head1 AUTHOR
   58 
   59 This module was written by Jeffrey William Baker <jwbaker@acm.org>.
   60 
   61 =head1 SEE ALSO
   62 
   63 L<Apache::Session::Serialize::Storable>, L<Apache::Session::Serialize::Base64>,
   64 L<Apache::Session>