$ perl -e 'open F, ">zzzz"; select F; system "date";' ; echo [ `cat zzzz` ]
2006年  2月 16日 木曜日 00:16:13 JST
[ ]
$ perl -e 'open STDOUT, ">zzzz"; system "date";' ; echo [ `cat zzzz` ]
[ 2006年 2月 16日 木曜日 00:15:48 JST ]

なるほど。systemの出力先も変えるには、STDOUTをopenしなおせばいいのか。

print LOG `date`;

でもいいんだろうけどさ。


エラー出力はどーなってんだろ。

$ perl -e 'open STDOUT, ">zzzz"; system "ls えろいの";'; echo [ `cat zzzz` ]
ls: えろいの: そのようなファイルやディレクトリはありません
[ ]

だめか。

$ perl -e 'open STDOUT, ">zzzz"; open STDERR, ">&STDOUT"; system "ls えろいの";' ; echo [ `cat zzzz` ]
[ ls: えろいの: そのようなファイルやディレクトリはありません ]

うんOK。

一応逆引用符でも。

$ perl -e 'open F, ">zzzz"; select F; print `ls えろいの`' ; echo [ `cat zzzz` ]
ls: えろいの: そのようなファイルやディレクトリはありません
[ ]
$ perl -e 'open F, ">zzzz"; select F; print `ls えろいの 2>&1`' ; echo [ `cat zzzz` ]
[ ls: えろいの: そのようなファイルやディレクトリはありません ]

さんこー : http://x68000.q-e-d.net/~68user/unix/pickup?%A5%EA%A5%C0%A5%A4%A5%EC%A5%AF%A5%C8


そんなことより、レポート、レポート。