• ベストアンサー

use スカラー変数とするには・・・

初心者PERLプログラマーです。 独学で身の回りにPERL仲間がいないため、質問させてください。 スカラー変数を使用してモジュールをuseしたいのですが、どうしてもできません。調べてみましたが検索力の無さからか見つからず… 現在のコードをはしょって書きます ----------------------- my $a = "Hoge"; use $a; my $b = new $a(); $b->run; ----------------------- $aの部分を変数にせず、use Hoge;と書くとうごくので、変数にしたことによるエラーだと思います。 $aを"$a"としてみたりしてもダメでした。 わかるかたご教授いただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • nerumako
  • ベストアンサー率84% (11/13)
回答No.1

useはコンパイル時に読み込まれるので変数指定は駄目みたいです。 良い参考HPがありましたのでご参考までに。 検索ワードは「perl 動的にuse」ででてきました。

参考URL:
http://egg.bomcity.com/wiki?UNIVERSAL%3A%3Arequire
bitgear
質問者

お礼

ありがとうございました。 ページを参考にやってみます。

その他の回答 (1)

回答No.2

#!/usr/bin/perl use warnings; use strict; # Example of Loading CGI Module dynamically my $module = 'CGI'; eval qq ( require $module; import $module; ); my $q = CGI->new();

参考URL:
http://blog.clouder.jp/archives/000184.html
bitgear
質問者

お礼

ありがとうございます。 ページ紹介もありがとうございました。 先のURLと合わせて参考にさせていただきます。