標準エラー出力も受け取るには?

[上に] [前に] [次に]
さぶ 1998/09/11(金) 22:05:54
perl であるコマンドの結果を $log に入れたいのですが

if (open(IN, "$FORM{'command'} |")) {
$message = ">> $FORM{'command'}\n";
#        while (<IN>) { $message .= $_; }
#        close(IN);
#    }

さぶ 1998/09/11(金) 22:09:26
すいません 上の途中で終わってしまいました
perl であるコマンドの結果を $log に入れたいのですが
if (open(IN, "COMMAND |")) {
    while (<IN>) { $log .= $_; }
    close(IN);
}
だと標準入力しか受け取れません。
どうやれば標準エラー出力も受け取れるのでしょう?


匿名希望 1998/09/11(金) 22:46:42
if (open(IN, "$FORM{'command'} 2>&1  |")) {
で受け取れると思います。

ただ、$FORM{'command'}の内容を十分にチェックしないと、
他人に危険なコマンドを実行されるおそれがあると思いますが…

さぶ 1998/09/12(土) 00:12:24
[[解決]]
できました。どうもありがとうございました。

[上に] [前に] [次に]