1

Linuxボックスで実行するperlスクリプトexample.plがあります。perl スクリプトの実行からの出力をキャプチャし、その名前にタイムスタンプを付ける必要があります。出力リダイレクト方法は知っていますが、スクリプト example.pl 自体からそれを行う方法を探しています (可能であれば)

4

3 に答える 3

1

を使用して出力とエラー ストリームをリダイレクトTypeglobsするか、次の操作を実行できます。

#!/bin/perl 

open(STDOUT, '>',time.".out") or die $!; #the time function gives you the timestamp
open(STDERR, '>',time.".err") or die $!;
print "output"; #goes to <timestamp>.out
warn "error";   #goes to <timestamp>.err
于 2013-05-01T15:50:29.157 に答える
0

これを行う最も簡単な方法は次のとおりです。

 open(STDOUT, ">myfile") or die $!;
 print "Hello world"; #now goes to myfile

 open(STDERR, ">hisfile") or die $!;
 warn "Error here"; #and that's in hisfile

他の代替手段は、次を使用することselectです。

open(my $FILE, ">stdout") or die $!;
my $old = select($FILE);

# Done capturing output
select $old;
于 2013-05-01T15:45:33.623 に答える