動的にuse
ちょっと調べてみたけれど、現状すっきりしているのは以下かなぁ?
$ cat dyn_use.pl use Data::Dumper; my $pkg = "CGI"; eval "use $pkg;"; my $obj = $pkg->new; print Dumper $obj;
これで
$ perl dyn_use.pl $VAR1 = bless( { '.parameters' => [], 'use_tempfile' => 1, '.charset' => 'ISO-8859-1', '.fieldnames' => {}, 'escape' => 1 }, 'CGI' );
ラクダ本みてシンボルテーブルをいじれば良いのかと思ったんだけど、力不足からか失敗。
main::CGIに展開されているから、近いような気がしているんだけども、それ以前にシンボルテーブルの理解があやふやなんだよなぁ…
$ cat dyn_use2.pl my $pkg = *CGI; print "<<<$pkg>>>\n";
$ perl dyn_use2.pl <<<*main::CGI>>>