blob: 3799885fec02ec3f0d5fff54f2072f147e0e76be (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
#!/usr/bin/env perl
use strict;
use warnings;
use CGI;
use Data::Session;
use File::Spec;
use File::Temp;
# -----------------------------------------------
# The EXLOCK is for BSD-based systems.
my($directory) = File::Temp::newdir('temp.XXXX', CLEANUP => 1, EXLOCK => 0, TMPDIR => 1);
my($file_name) = 'session.%s.dat';
my($type) = 'driver:File;id:SHA1;serialize:DataDumper'; # Case-sensitive.
my($id);
{
my($session) = Data::Session -> new
(
directory => $directory,
file_name => $file_name,
type => $type,
) || die $Data::Session::errstr;
$id = $session -> id;
$session -> param(a_key => 'a_value');
print "Id: $id. Save: a_key => a_value. \n";
}
{
my($q) = CGI -> new;
$q -> param(CGISESSID => $id);
my($session) = Data::Session -> new
(
directory => $directory,
file_name => $file_name,
query => $q,
type => $type,
) || die $Data::Session::errstr;
print "Id: $id. Recover: a_key => ", $session -> param('a_key'), ". \n";
$session -> delete;
}
|