我想同时从文本文件的不同部分提取数据。是否可以使用两个单独的文件句柄打开文件(如下所示)?或者是否可以缓存第一个文件句柄的位置,然后在关闭第二个文件句柄时返回文档中的那个点?
注意:我只是从文本文件中读取数据,而不是写入文件。
open( $filehandle, '<:encoding(UTF-8)', $filename )
or die "Could not open file '$filename' $!";
$row = <$filehandle>;
{
replace_unicode_char();
if ( $row =~ /$table_num/ ) {
open( $filehandle_reg, '<:encoding(UTF-8)', $filename )
or die "Could not open file '$filename' $!";
$line = <$filehandle_reg>;
if ( $line =~ /Section\_[0-9]+/ ) {
# Do something...
}
}
}
答案 0 :(得分:2)
您可以使用seek()
功能在文件中移动,使用tell()
功能获取文件中的当前位置。
因此,不是有两个文件句柄,而是有两个变量在文件中存储一个位置,并使用seek()
在它们之间来回跳转。