如何在Perl中异步监视文件?

Hus*_*ain 7 perl chat file listener

我想知道是否可能,如果是这样,可以创建一个不断监视文件/ db的perl脚本,然后调用子例程来执行文本处理(如果文件已更改).我很确定这可以使用套接字,但是这需要用于在共享主机上运行的站点上的网络聊天应用程序,我不太确定它上面是否允许使用套接字.

基本思路是:

  • 为聊天文件/数据库创建一个监听器
  • 使用新消息更新文件时,请调用子例程
  • 被调用的子程序将新消息发送回浏览器进行显示

提前致谢.

kbe*_*son 8

许多操作系统运行一项服务,允许应用程序在更新文件或路径时注册要通知的请求.这通常称为文件更改监视器.有关可用的某些系统,请参阅链接的维基百科页面.最近的linux系统使用Inotify,之前使用的是Dnotify或gamin.OS X使用FSEvents.Windows有一个类似的系统.我不知道所有这些系统的跨平台工作的任何模块或机制,但CPAN上有特定的模块,例如SGI :: FAMFile :: Tail :: FAM.

  • [File :: ChangeNotify](http://search.cpan.org/perldoc/File::ChangeNotify)希望成为通用的跨平台之一,但截至目前它只有Inotify,BSD的后端KQueues和一个后备轮询方法(`stat`所有文件和dirs定期).没有Win32,没有FAM.:( (3认同)