package Decorator; sub new { my ($class, $obj) = @_; bless \$obj, $class; } sub parent { ${$_[0]} } sub AUTOLOAD { our $AUTOLOAD =~ s/([^:])+$/$1/; my $self = shift; $self->parent->$AUTOLOAD( @_ ); }