package Trait::SelfDumping; require Carp; require Exporter; require Data::Dumper; @EXPORT = qw( dump_self ); sub import { goto &Exporter::import } sub dump_self { my $self = shift; Carp::carp("Self is " . Data::Dumper::Dumper($self) ) } 1; #### package My::FooBar; use Trait::SelfDumping ':default'; sub new { ... package main; my $foo = My::FooBar->new(); $foo->dump_self();