in reply to Re: Delete expired CGI::Session files
in thread Delete expired CGI::Session files

Generaly, session files look something like this:

$D = { "_SESSION_EXPIRE_LIST" => {}, "_SESSION_REMOTE_ADDR" => "127.0.0.1", "_SESSION_ATIME" => "1057334715", "_SESSION_CTIME" => "1057334688", "_SESSION_ID" => "2edc038f30ed95d3bd43f113b5385a5d", "_SESSION_ETIME" => undef };

(Note, I've added some formatting. It's usually just one long line.)

As you can see it's a dumped (see Data::Dumper) data structure. It starts off with an assignment to $D. When using strict you have to declare your variables. Thus my $D; before the eval.

By eval()ing, I'm executing that code, thus doing the assignment to $D.

Check this out:

use strict; local $/; my $D; eval( <DATA> ); print $D->{ _SESSION_ID }; __DATA__ $D = { "_SESSION_EXPIRE_LIST" => {}, "_SESSION_REMOTE_ADDR" => "127.0.0.1", "_SESSION_ATIME" => "1057334715", "_SESSION_CTIME" => "1057334688", "_SESSION_ID" => "2edc038f30ed95d3bd43f113b5385a5d", "_SESSION_ETIME" => undef };

Try commenting out my $D;. You'll get an error.

HTH

--
"To err is human, but to really foul things up you need a computer." --Paul Ehrlich

Replies are listed 'Best First'.
Re: Re: Re: Delete expired CGI::Session files
by Anonymous Monk on Nov 13, 2003 at 13:50 UTC
    Crystal-clear now that I see the contents of a session file! Thanks