mac下perl怎么刷文件?

Posted

技术标签:

【中文标题】mac下perl怎么刷文件?【英文标题】:How flush file in perl under mac? 【发布时间】:2011-08-20 01:59:51 【问题描述】:

我在远程 iMac 中有perl, v5.10.0 built for darwin-thread-multi-2level。我想运行一些 perl 脚本,它打印出一些数据并在每行输出后刷新。

    $file_handle->flush(); 自动刷新 $file_handle;

我已经在文件顶部使用use IO::Handle; 尝试了这两个版本,但我得到的结果是Can't locate object method "autoflush" via package "FileHandle"

【问题讨论】:

你的意思是 $file_handle->autoflush(); ?或者,也许您应该尝试一下。只是为了笑,我会传递一个明确的参数 1 即使它应该在调用时默认为 true... 【参考方案1】:

您从哪里获得$file_handle?看起来它是 FileHandle 实例,而不是 IO::Handle 对象。

你可以试试

use FileHandle;

在脚本的顶部,而不是 IO::Handle。或者,更改您的代码,使 $file_handle 不再是 FileHandle 实例。

PS:你真的不应该运行 5.10.0,它有很多错误。 5.10.1 或更新的版本要好得多。

【讨论】:

【参考方案2】:

你确定“使用 IO::Handle;”没有错字吗?

在我看来该模块尚未加载。

【讨论】:

是的,因为我在 3 个不同的盒子中运行相同的代码。 Mac、Linux、Win 你能在你自动刷新之前把它放到程序中并给我输出吗? print map "$_ => $INC$_\n" keys %INC;【参考方案3】:

使用文件句柄;解决了我的问题。我遇到了 Net::SCP::Expect 的问题。这发生在 CentOS 6.3 下。

我收到如下错误: - 无法通过包文件句柄定位对象方法自动刷新 - 无法通过包文件句柄定位对象方法阻塞

【讨论】:

以上是关于mac下perl怎么刷文件?的主要内容,如果未能解决你的问题,请参考以下文章

Mac系统下使用Fastboot线刷安卓设备

mac 怎么运行python

Perl 模块 Mac::PropertyList 用于 plist XML 文件

使用 perl (macos 和 linux) 监视文件的更改

我的ac68u如果刷梅林固件的话是否就可以改发射功率了哈

使用 Perl 和 Linux::Inotify2 模块监控 Mac 地址的日志文件