プロが教える店舗&オフィスのセキュリティ対策術

メインの実行スクリプトの中から、
サブのスクリプトを実行し
その結果をメインから与えたファイルハンドルへ出力したいのですが、
うまくいきません。
尚、サブスクリプトは適当な(下記例ですと./sub/)以下に
複数あります。

MAIN.pl
---------
my @subs = glob "./sub/*.pl" ;

open OUT, "> tmp.txt" ;
my $fh = *OUT ;

foreach my $sub ( @subs ){

$sub $fh 引数1 引数2;
#ここの書き方が特にわかりません
}

close OUT ;

サブスクリプト
---------
my $fh = $ARGV[0] ;
my $A = $ARGV[1] ;
my $B = $ARGV[2] ;

print $fh "結果\n" ;
---------

A 回答 (1件)

そのサブスクリプトをモジュールもしくはrequire可能な形式に書き換えて、use/requireするのが、手っ取り早いと思います。


モジュールについては、標準添付ドキュメントperlmodをご覧ください。

サブスクリプトが標準入出力を利用する形なら、関数openのパイプライン形式、もしくはモジュールIPC::Open2およびIPC::Open3が利用可能です。詳しくは、perldoc -f openをご覧ください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
require可能な形式にしたことで解決を図ることができました。
お礼が遅くなり申し訳ございませんでした。

お礼日時:2006/11/21 22:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!