#!/db01/app/perl/5.6.1/bin/perl package Test; use strict; use Data::Dumper; use DBI; sub TIEHASH { my($class)=@_; my($self)=bless {}, $class; # POSITION 1 $self; } sub FETCH { my($s,$k,$v)=@_; # POSITION 2 my $store=$s->{STORE}->{$k} ||= {}; $store->{bar}='baz'; # POSITION 3 my $dbh=DBI->connect('dbi:ExampleP:','','') or die; $store; } 1; package main; use Data::Dumper; my %h; tie %h, 'Test'; $h{a}->{'foo'}='bar'; print Dumper $h{a};