use strict; use warnings; use Carp; =head1 Demo class Bar =cut package Bar; use Data::Dump qw/dd/; sub bar { my ($self,@args) = @_; Carp::cluck Data::Dump::pp [$self->{args},@args]; } sub new { my ($class,@args) =@_; return bless {args => \@args}, $class; } sub AUTOLOAD { our $AUTOLOAD; warn "AUTOLOAD $AUTOLOAD"; } =head1 Proof Of Concept =cut package Baz; our @ISA = qw/Bar/; use Data::Dump qw/pp dd/; my $obj= Bar->new("is bar"); $obj->bar(0); warn "can dd: ",pp $obj->can("dd"); # available $obj->dd([1,2,3]); # will be executed