use My::Scalar; tie my $x, 'My:Scalar'; my $tieobj = tied $x; #### tie $hash{foo}, 'My:Scalar'; #### sub TIESCALAR { my ($class, $key, $val) = @_; return bless {'value' => $val, 'key' => $key , 'fetched' => 0 }, $class; }