最近需要用到pipe文件,简单看了下,还是很方便的。
perl处理pipe文件方法如下:
1. open FIFO,"<$pipe_file";
2. 循环读取pipe文件。
while(1)
{
seek(FIFO,0,0); #通过seek函数,强制将文件指针指向第0个字节,offset为0字节
while()
{
chomp();
print "$_\n";
}
}
这样,每当有数据写入fifo文件,这个程序就会打印并换行。
测试如下:
for num in `seq 1 10`;do echo $num >/tmp/test; done
结果如下:
#./test.pl
1
2
3
4
5
6
7
8
9
10
函数说明:
perldoc -f seek
seek FILEHANDLE,POSITION,WHENCE
FILEHANDLE,文件句柄,不解释
POSITION:seek到多少个字节数!
WHENCE:0表示从指定POSTION开始,1表示从当前位置+POSITION个字节开始,2表示从文件结尾+POSITION个字节开始。
阅读(3107) | 评论(1) | 转发(1) |