怎么让内容直接写回硬盘

怎么让内容直接写回硬盘

我要给程序加一个日志,做的很多操作都要写入一个log文件,可是如果程序异常退出的话,有很多内容来不及写进去,可能是缓存的问题。前一段看书看到过,用什么方法可以让内容马上写到磁盘,就是想不起来了。
LZ, 俺想问你一个更弱智的问题.
怎么写log日志文件呢?是这样的么?
open (FH, ">", log) or die $!;


QUOTE:
原帖由 machine 于 2008-11-21 14:59 发表
我要给程序加一个日志,做的很多操作都要写入一个log文件,可是如果程序异常退出的话,有很多内容来不及写进去,可能是缓存的问题。前一段看书看到过,用什么方法可以让内容马上写到磁盘,就是想不起来了。

退出前先close一下行不行?


[Copy to clipboard] [ - ]
CODE:
select( STDOUT );
$| = 1;
open( REPORT, ">report.txt" ) || die "create report error: $!\n";
select( REPORT );
$| = 1;
select( STDOUT );

http://www.icylife.net/yunshu/show.php?id=541
多谢,就是这个:
$| = 1;

呵呵

是不是用syswrite函数好像也可以?
用 UNIX/LINUX 标准的 syslog 接口吧。
不要重复发明轮子。


QUOTE:
原帖由 flw 于 2008-11-21 22:11 发表
用 UNIX/LINUX 标准的 syslog 接口吧。
不要重复发明轮子。

如果在win32平台下是否可以用?
use IO::Handle;
$io->flush;
$Io->sync;