这个问题就解决了。非常感谢。
我的问题和我正在使用的解决方案如下所述。
问题:
open IN, "<./test.txt";
seek(IN,10,0);
read IN, $temp, 5;
seek(IN,20,0);
close(IN);
情况是,我的句柄将从位置 0 开始。
在第一次查找功能之后,我的文件句柄将在位置 10。
读完之后,我的句柄将在位置 15。
此时,我再次查找。然后程序将从头或从位置 20 开始
搜索。我的问题是,无论如何我都可以在文件中进行搜索,这样我就不需要每次都从文件的起点搜索?
我使用的方式:
use Fcntl qw(SEEK_SET SEEK_CUR SEEK_END); #SEEK_SET=0 SEEK_CUR=1 ...
$target_byte=30;
open IN, "<./test.txt";
seek(IN,10,SEEK_SET);
read IN, $temp, 5;
$position=tell(IN);
seek(IN,$target_byte-$position,SEEK_CUR);
#do what I want
close(IN);