#!/usr/local/bin/perl use strict; use warnings; $| = 1; my $x = MyClass->new( 'Otto'); print $x->name, "\n"; $x->name = 'Erich'; print $x->name, "\n"; exit; ######################################################## package MyClass; use blib; use Alter qw( ego); sub new { my $class = shift; bless( \ my $o, $class)->init( @_); } sub init { my $ob = shift; ego $ob, { name => shift }; # set up alter ego as a hash ref $ob; } sub name :lvalue { ego( shift)->{ name} } # access the alter ego __END__