人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

if( $hoge =~ /package_(.*?)\.pl/ ){ use $1;hoge::$1(); }
とか
if( $hoge =~ /package_(.*?)\.pl/ ){ require $1; hoge::$1(); }
とか
予測できないファイル名のモジュール読み込みと実行をしたいのですが、簡単な方法ありませんか?
リストを読み込んで、perlからperlを書き出す・・は無しでお願いします。
perl5.8

●質問者: ironbsd
●カテゴリ:インターネット ウェブ制作
✍キーワード:hoge Perl require ファイル モジュール
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● nev
●50ポイント

CORE::eval { "use $lib" };

if ($@) {

...

}

モジュール側には import() を用意しておけばよいでしょう。

◎質問者からの返答

すみません import() の使い方がわかりません。


2 ● b-wind
●80ポイント ベストアンサー
eval "use $1;hoge::$1();";
eval "require $1; hoge::$1();";

本当に予想できないのなら容易にセキュリティーホールになりますけどね。

実行するべきかどうかのチェックは必要でしょう。

◎質問者からの返答

ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ