ファイルに出力するがファイルを開かない関数が欲しいのですが、代わりに、すでに開いているファイルハンドルをファイルに渡す必要があります。このように、ファイルのオープンとクローズは、コードの呼び出しブロックで1回だけ発生します。
私は試した:
sub teeOutput
{
my $str = $_[0];
my $hndl = $_[1];
#print to file
print $hndl $str;
#print to STDOUT
print $str;
}
そしてそれを呼び出すとき
open(RPTHANDLE, ">", $rptFilePath) || die("Could not open file ".$rptFilePath);
&teeOutput('blahblah', RPTHANDLE);
&teeOutput('xyz', RPTHANDLE);
close(RPTHANDLE);
しかし、それはうまくいきませんでした。
これを達成する方法はありますか?
ありがとう