+Here is a simple example of the technique, using the
+L<Hash::Util::FieldHash> core module. This module was added to the core
+to support inside-out object implementations.
+
+ package Time::InsideOut;
+
+ use strict;
+ use warnings;
+
+ use Hash::Util::FieldHash 'fieldhash';
+
+ fieldhash my %TIME;
+
+ sub new {
+ my $class = shift;
+ my $self = bless \( my $empty ), $class;
+ $TIME{$self} = time;
+
+ $self;
+ }
+
+ sub epoch {
+ my $self = shift;
+
+ $TIME{$self};
+ }
+
+ my $time = Time::InsideOut->new;
+ print $time->epoch;
+