Make a module and do everything there. There are some examples in the Apache::Session docs. You did read them didn't you. ;-) This code is untested of course, but you could use something like:
package MySession;
use strict;
use Apache::Session::Whatever;
sub new {
my $self = bless( {}, shift };
$self->init();
return $self;
}
sub init {
my $self = shift;
my %session;
tie %session, Apache::Session::Whatever, undef;
$self->{session} = \%session;
return $self->{session};
}
sub get_session {
my $self = shift;
return $self->{session};
}
sub close {
my $self = shift;
# Now properly untie the hash using the right method
tied($self->{session})->close;
untie($self->{session});
}
sub DESTROY {
my $self = shift;
$self->close();
}
Then in your app code just use the module and create a new object.
use MySession;
my $session = MySession->new()->get_session();
$session->{foo} = "bar";
$sesobj->close();
|