use strict; use warnings; package My; sub new { my ($class) = @_; return bless {}, $class; } sub ext_show { my ($self, $name) = @_; print "Hello $name!\n"; return 1; } package main; my $A = 'My'->new(); my $method = 'ext_' . shift; $A->$method(@ARGV); #### Hello Bob!