use CGI; use CGI::Carp qw(fatalsToBrowser); my $cgi = new CGI; ... my $p_type = $cgi->param('p_type'); ... eval "\$someobject->make_$p_type(\$some,\@args)"; die "\$someobject->make_$p_type failed: $@"; ...