Scroll to navigation

Data::Session::Driver::File(3pm) User Contributed Perl Documentation Data::Session::Driver::File(3pm)

NAME

Data::Session::Driver::File - A persistent session manager

Synopsis

See Data::Session for details.

Description

Data::Session::Driver::File allows Data::Session to manipulate sessions via files.

To use this module do this:

Case-sensitive Options

See "Case-sensitive Options" in Data::Session for important information.

Method: new()

Creates a new object of type Data::Session::Driver::File.

"new()" takes a hash of key/value pairs, some of which might mandatory. Further, some combinations might be mandatory.

The keys are listed here in alphabetical order.

They are lower-case because they are (also) method names, meaning they can be called to set or get the value at any time.

Specifies that debugging should be turned on (1) or off (0) in Data::Session::File::Driver and Data::Session::ID::AutoIncrement.

When debug is 1, $! is included in error messages, but because this reveals directory names, it is 0 by default.

This key is optional.

Default: 0.

Specifies the path to the directory which will contain the session files.

This key is normally passed in as Data::Session -> new(directory => $string).

Default: File::Spec -> tmpdir.

This key is optional.

Specifies the pattern to use for session file names. It must contain 1 '%s', which will be replaced by the session id before the pattern is used as a file name.

This key is normally passed in as Data::Session -> new(file_name => $string_containing_%s).

Default: 'cgisess_%s'.

This key is optional.

Specifies (no_flock => 1) to not use flock() to obtain a lock on a session file before processing it, or (no_flock => 0) to use flock().

This key is normally passed in as Data::Session -> new(no_flock => $boolean).

Default: 0.

This key is optional.

Influences the mode to use when calling sysopen() on session files.

'Influences' means the value is bit-wise ored with O_RDWR for reading and with O_WRONLY for writing.

This key is normally passed in as Data::Session -> new(no_follow => $boolean).

Default: eval{O_NOFOLLOW} || 0.

This key is optional.

Specifies the mode to use when calling sysopen() on session files.

This key is normally passed in as Data::Session -> new(umask => $octal_value).

Default: 0660.

This key is optional.

Print to STDERR more or less information.

Typical values are 0, 1 and 2.

This key is normally passed in as Data::Session -> new(verbose => $integer).

This key is optional.

Method: remove($id)

Deletes from storage the session identified by $id.

Returns 1 if it succeeds, and dies if it can't.

Method: retrieve($id)

Retrieves from storage the session identified by $id, or dies if it can't.

Returns the result of reading the session from the file identified by $id.

This result is a frozen session. This value must be thawed by calling the appropriate serialization driver's thaw() method.

Data::Session calls the right thaw() automatically.

Method: store($id => $data)

Writes to storage the session identified by $id, together with its data $data.

Storage is a file identified by $id.

Returns 1 if it succeeds, and dies if it can't.

Method: traverse($sub)

Retrieves all ids via their file names, and for each id calls the supplied subroutine with the id as the only parameter.

Returns 1.

Support

Log a bug on RT: <https://rt.cpan.org/Public/Dist/Display.html?Name=Data-Session>.

Author

Data::Session was written by Ron Savage <ron@savage.net.au> in 2010.

Home page: <http://savage.net.au/index.html>.

Copyright

Australian copyright (c) 2010, Ron Savage.

        All Programs of mine are 'OSI Certified Open Source Software';
        you can redistribute them and/or modify them under the terms of
        The Artistic License, a copy of which is available at:
        http://www.opensource.org/licenses/index.html
2023-02-12 perl v5.36.0