Perl文件描述符流

时间:2018-07-25 03:36:23

标签: perl io

我正在尝试修改此Perl代码以执行我需要的操作。现在,它从文件描述符中读取数据,一旦缓冲了8000个字节,它便完成并继续将其写入文件中。

我试图使它继续从该流中读取每8000个字节,并且仅在脚本被杀死或X个循环过去时才停止。 因此,它将在每次缓冲时继续添加8000个字节,或者每隔X秒将数据写入文件中。

我不熟悉流,也没有用perl编写,找不到任何适用于此的文档,尽管我认为解决方案无法直接进行。我将感谢您的帮助,会发布任何新更新

 use warnings;
 use strict;

 use IO::Handle;

 $| = 1; 
 my $buffer = undef;
 my $result = undef;
 my $AUDIO_FD = 3;   
 my $audio_fh = new IO::Handle;
 $audio_fh->fdopen( $AUDIO_FD, "r" );         


 my $bytes_read = $audio_fh->read( $buffer, 8000 );
 $audio_fh->close();


 my $fh;
 open( $fh, ">/tmp/rawdata.txt" );
 print $fh $buffer;
 close( $fh );

1 个答案:

答案 0 :(得分:0)

这种方法不允许连续读取文件,但是,我能够使用bash cp命令从同一文件描述符中获取恒定的数据流