【发布时间】:2014-08-30 01:16:07
【问题描述】:
我想同时从文本文件的不同部分提取数据。是否可以使用两个单独的文件句柄打开文件(如下所示)?或者是否可以缓存第一个文件句柄的位置,然后在我关闭第二个文件句柄时返回到文档中的那个点?
注意:我只是从文本文件中读取数据,从不写入。
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...
}
}
}
【问题讨论】:
-
如果文件不是太大,你可以将它存储在字符串或数组中。
-
这是不可能的,因为文件包含 102K 行...
-
仅此而已,大约 10MB?但是,是的,您可以将一个文件作为两个不同的文件句柄打开两次,然后分别使用它们——如果有写入操作会变得有点混乱。