Perl:同时从文本文件的不同部分提取数据

时间:2014-08-29 10:57:19

标签: string perl

我想同时从文本文件的不同部分提取数据。是否可以使用两个单独的文件句柄打开文件(如下所示)?或者是否可以缓存第一个文件句柄的位置,然后在关闭第二个文件句柄时返回文档中的那个点?

注意:我只是从文本文件中读取数据,而不是写入文件。

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...
        }
    }
}

1 个答案:

答案 0 :(得分:2)

您可以使用seek()功能在文件中移动,使用tell()功能获取文件中的当前位置。

因此,不是有两个文件句柄,而是有两个变量在文件中存储一个位置,并使用seek()在它们之间来回跳转。