📄 session.pm
字号:
package PunJab::Session;=head1 NAMESession -=head1 SYNOPSIS Not done =head1 DESCRIPTION This package provides session management methods=cut use strict;use Digest::SHA1;use Digest::MD5 qw(md5 md5_hex md5_base64);sub new { my $class = shift; my %args = @_; my $self = bless { %args }, ref($class) || $class; $self->{registry} = {}; return $self;}sub register{ my ($self,$sid) = @_; $self->{registry}->{$sid} = {};}sub unregister{ my ($self,$sid) = @_; delete $self->{registry}->{$sid};}sub logged_in{ my ($self,$sid,$val) = @_; $self->{registry}->{$sid}{logged_in} = $val if defined $val; return $self->{registry}->{$sid}{logged_in};}sub activity{ my ($self,$sid,$val) = @_; $self->{registry}->{$sid}{activity} = $val if defined $val; return $self->{registry}->{$sid}{activity};}sub check_session { my ($self,$sid) = @_; return 1 if defined $self->{registry}->{$sid}; return 0;}sub registry{ my $self = shift; return $self->{registry};}sub key{ my ($self,$key,$sid) = @_; return $self->registry->{$sid}{'key'} if not defined $key and not defined $sid; # generate the key my $shaobj = new Digest::SHA1; $shaobj->add($key); my $sid = $shaobj->hexdigest(); #$self->registry->{$sid}{'key'} = $key; return $sid; }1;__END__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -