- ベストアンサー
plファイルの中で他のplファイルを実行
A.plファイルとそれに付随するpmファイルがあります。 別のB.plでA.plに値を渡しながらループさせてA.plを実行し得られた値をB.plに返すことがしたいのですが、 B.plで ループ始点 require('A.pl'); ループ終点 だと一回きりの実行結果しか得られず。 #`perl A.pl @AAA`; だとreturnできずエラー となってしまいます。 何か良い方法は無いでしょうか。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでは? $ head * ==> a.pl <== print @ARGV; 1; ==> tmp.pl <== $\ = "\n"; foreach (1..10) { require ('a.pl'); delete $INC{'a.pl'}; } $ perl tmp.pl value value value value value value value value value value value
その他の回答 (1)
- omni2
- ベストアンサー率53% (33/62)
回答No.1
########################### #A.plの内容 #!/Perl/bin/perl require "B.pl"; foreach(0..10){&test();} ########################### ########################### #B.plの内容 sub test{ print "Hello\n"; } 1; ########################## こうしてみればどうでしょう?
お礼
delete $INC{'a.pl'}; ですね。 解決できました。 ありがとうございました。