Perl:打开没有写缓存的文件

Bar*_*ter 2 perl caching file

我知道现代*nix操作系统允许打开文件,因此数据不会缓存在系统/磁盘写入缓存中,因此任何写入操作只有在数据写入磁盘时才会完成.

你能建议我怎样才能在Perl中做到这一点?

操作系统是AIX/Solaris.

Opt*_*nic 6

使用带有O_SYNC的sysopen函数作为其中一个标志.检查系统联机帮助页以获取支持的标志(man 2打开).我知道它存在于Solaris 10上,不确定AIX.例如:

sysopen(FH, $path, O_SYNC | O_WRONLY | O_CREAT)
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参见http://perldoc.perl.org/functions/sysopen.html.