perlでの$|とselectの使い方
[上に]
[前に]
[次に]
KAN
1999/07/16(金) 10:20:48
perlでよく、
$oldfh = select(STDERR);
$| = 1;
select($oldfh);
とする定石がありますが、$|の位置はなにか意味があるのでしょうか。
また、selectをわざわざ2度使うのはどうしてでしょうか。
理由などをお教えください。
徳明
1999/07/16(金) 12:36:35
STDERRへの出力をバッファリングしないようにするための定石ですね。
標準出力をSTDERRに切り替えて(select(STDERR))、
標準出力(STDERR)をバッファリングしないようにして($|=1)、
標準出力を元(おそらくはSTDOUT)に戻す(select($oldth))。
KAN
1999/07/17(土) 10:00:37
[[解決]]
徳明さん、回答ありがとうございました。
つまり、
$oldfh = select(STDERR);
は、標準出力をSTDERRにかえると同時に、それまでの標準出力を
$oldfhに待避している、ということでしょうか。
同時にできるということに気付いてませんでした。ありがと
うございました。
[上に]
[前に]
[次に]