#!/db01/app/perl/5.6.1/bin/perl package Test; use strict; use Data::Dumper; use DBI; sub TIEHASH { bless {}, shift } sub FETCH { my($s,$k,$v)=@_; my $store=$s->{STORE}->{$k} ||= {}; $store->{bar}='baz'; SKIP: { # last; 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};