我正在尝试修改此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 );
答案 0 :(得分:0)
这种方法不允许连续读取文件,但是,我能够使用bash cp命令从同一文件描述符中获取恒定的数据流