免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1807 | 回复: 2
打印 上一主题 下一主题

能够用perl捕捉一个文件的实时变化情况吗? [复制链接]

mjlinux 该用户已被删除
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-20 10:13 |只看该作者 |倒序浏览
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
2 [报告]
发表于 2005-01-20 11:04 |只看该作者

能够用perl捕捉一个文件的实时变化情况吗?

在C 里面可以用SELECT判断一个HANDLER是否有内容被传入,PERL应该也可以把,你结合SYSOPEN试试

论坛徽章:
0
3 [报告]
发表于 2005-01-31 17:33 |只看该作者

能够用perl捕捉一个文件的实时变化情况吗?

perldoc  -f seek
Due to the rules and rigors of ANSI C, on some systems you have
to do a seek whenever you switch between reading and writing.
Amongst other things, this may have the effect of calling
stdio's clearerr(3). A WHENCE of 1 ("SEEK_CUR" is useful for
not moving the file position:

     seek(TEST,0,1);

This is also useful for applications emulating "tail -f". Once
you hit EOF on your read, and then sleep for a while, you might
have to stick in a seek() to reset things. The "seek" doesn't
change the current position, but it *does* clear the end-of-file
condition on the handle, so that the next "<FILE>;" makes Perl
try again to read something. We hope.

If that doesn't work (some IO implementations are particularly
cantankerous), then you may need something more like this:

     for (; {
         for ($curpos = tell(FILE); $_ = <FILE>;;
              $curpos = tell(FILE)) {
             # search for some stuff and put it into files
         }
         sleep($for_a_while);
         seek(FILE, $curpos, 0);
     }
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP