{ my %data; sub connect { my $self = shift; tie %data, "AnyDBM_File", "data", O_RDWR, 0644 or die "Cannot open data for read.\n"; return 1; } sub disconnect { untie %data; } } # %data has fallen out of scope and only exists # within connect() and disconnect()