これを尋ねるのはばかげていると思いますが、いくつか試してみましたが、どこに行くべきかわかりません。
$object->log_file("filename" | $filehandle | \&coderef | undef)
セッションをファイルに記録します。生成されたプロセスとの間で送受信されるすべての文字がファイルに書き込まれます。
$filehandle を log_file に渡したいです。しかし、私がこれを試したとき:
open (LOG, ">>" .$opt{l});
my $sess = Expect->spawn("telnet $ip");
$sess->log_file(LOG)
スクリプトを実行しているディレクトリに「LOG」という名前のファイルを取得します。いくつかの調査の後、私はこれを試しました:
open (LOG, ">>" .$opt{l});
my $sess = Expect->spawn("telnet $ip");
my $fh = *LOG;
$sess->log_file($fh)
これで、ディレクトリで名前が付けられたファイルを取得します*main::LOG
。オプションで指定した名前の別のファイルもあり-l
ますが、送信する行のみが含まれていますprint LOG
。
ファイル処理機能が関数に組み込まれているかどうか、または何か間違っているかどうかはわかりません。