#!/usr/bin/perl package Database; my $database = {}; sub TIEHASH { my ($class, $key, $value, @options) = @_; # my $db = DBI->connect(...); # ... more database stuff $database->{"$key"} = $value; return bless $database; } sub FETCH { return $database->{"One"}; } #### #!/usr/bin/perl use Database; my %one, %two; tie (%one, Database, "One", "hard"); print $one{"One"}; tie (%two, Database, "One", "soft"); print $two{"One"};