# tie %hash, 'Tie::Hash::Default', $def_value; package Tie::Hash::Default; use Tie::Hash; @ISA = qw( Tie::StdHash ); my %def; sub TIEHASH { my ($class, $default) = @_; my $self = $class->SUPER::TIEHASH; # updated $def{$self} = $default; return $self; } sub FETCH { my ($self, $key) = @_; return exists($self->{$key}) ? $self->{$key} : $def{$self}; } 1;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Tie::Hash::Default
by jdporter (Paladin) on Apr 29, 2007 at 11:39 UTC |