小编Akh*_*il 的帖子

优化 Perl 脚本以关联两个文件之间的记录

open( FH, 'MAH' ) or die "$!";
while ( $lines = <FH> ) {
    $SSA = substr( $lines, 194, 9 );
    open( FH1, 'MAH2' ) or die "$!";
    while ( $array1 = <FH1> ) {
        @fieldnames = split( /\|/, $array1 );
        $SSA1       = $fieldnames[1];
        $report4    = $fieldnames[0];
        if ( $SSA =~ /$SSA1/ ) {
            $report5= $report4;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图从 MAH 文件中提取“SSA”值并在 MAH2 文件中搜索该值。如果找到,则返回“report4”值。我能够获得输出,但需要大量时间来处理。有什么方法可以优化代码使其快速完成?

我的每个文件都有 300,000 条记录,文件大小为 15 MB。目前需要5个小时来处理

perl

5
推荐指数
1
解决办法
131
查看次数

标签 统计

perl ×1