=cut
-sub _lc($) {
- local $_ = $_[0];
- tr/_/-/;
- return lc;
-}
-
sub TIEHASH {
- return bless [ # Defaults.
+ return bless [ # Defaults
{
'Content-Type' => 'text/html',
'X-PLP-Version' => $PLP::VERSION,
sub FETCH {
my ($self, $key) = @_;
- return $self->[0]->{ $self->[1]->{_lc $key} };
+ $key =~ tr/_/-/;
+ return $self->[0]->{ $self->[1]->{lc $key} };
}
sub STORE {
my ($self, $key, $value) = @_;
- croak 'Can\'t set headers after sending them!' if $PLP::sentheaders;
- if (defined $self->[1]->{_lc $key}){
- $key = $self->[1]->{_lc $key};
- }else{
+ $key =~ tr/_/-/;
+ if ($PLP::sentheaders) {
+ my @caller = caller;
+ die "Can't set headers after sending them at " .
+ "$caller[1] line $caller[2].\n(Output started at " .
+ "$PLP::sentheaders->[0] line $PLP::sentheaders->[1].)\n"
+ }
+ if (defined $self->[1]->{lc $key}){
+ $key = $self->[1]->{lc $key};
+ } else {
$self->[1]->{lc $key} = $key;
}
return ($self->[0]->{$key} = $value);
sub DELETE {
my ($self, $key) = @_;
+ $key =~ tr/_/-/;
delete $self->[0]->{$key};
- return delete $self->[1]->{_lc $key};
+ return delete $self->[1]->{lc $key};
}
sub CLEAR {
sub EXISTS {
my ($self, $key) = @_;
- return exists $self->[1]->{_lc $key};
+ $key =~ tr/_/-/;
+ return exists $self->[1]->{lc $key};
}
sub FIRSTKEY {