使用するモジュールを引数によって変更したいのですが書き方がわかりません。

use や new するときのモジュールに変数を使えないでしょうか?

sub hogehoge()
{
 my $pm_name = shift;
 use $pm_name;
 my $obj = new $pm_name();
}