package VShop::State;
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter);
sub new {
my ($package, $cgi) = @_;
my $self = {cgi => $cgi, params => {}};
return bless $self, $package;
}
sub register {
my ($self, $name) = @_;
$self->{params}->{$name} =
$self->{cgi}->param($name); # may be undef
}
sub set {
my ($self, $name, $value) = @_;
$self->{params}->{$name} = $value;
}
sub unset {
my ($self, $name, $value) = @_;
delete $self->{params}->{$name};
}
sub get {
my ($self, $name) = @_;
return $self->{params}->{$name};
}
|