package TestPackage; use Data::Dump qw( dump ); my $obj = bless {}, __PACKAGE__; print 'Can dump()' if $obj->can( 'dump' ); print 'Can not_a_sub()' if $obj->can( 'not_a_sub' ); #### package A::Type; use Some::Module qw( a_func ); sub new { #standard constructor } sub a_method { } sub another_method { } package Another::Module; use Signature::Checker; sub func : Signature( A::Type parameter ) { }