1. ホーム
  2. スクリプト・コラム
  3. パール

perlで2つのファイル文字列を比較するサンプルコード

2022-01-30 13:38:38
要件 ファイル1から1行を取り出し、ファイル2の全データと比較し、同じものは保存し、そうでないものは削除する。
コピーコード コードは以下の通りです。

#! /usr/bin/perl
#use strict;
open(FILE1,"C:/Perl/BX/BX-Users.txt");
open(FILE2,"C:/Perl/BX/BX-Book-Ratings.txt");
open(result1,">C:/perl/BX/BX-Users_result.txt");
my $i=0;
my $j=0;
while((my $bxUser=<FILE1>)&&($i<10))
{
    my $userId=substr($bxUser,0,index($bxUser,","));
    while(my $rankUser=<FILE2>)
    {
        my $userIdCmp=substr($rankUser,0,index($rankUser,","));
        if(($userId==$userIdCmp)&&($j==0))
        {
            syswrite(result1,"$bxUser");
            $j++;
        }
    }
    $j=0;
    $i++;    
}
close(FILE1);
close(FILE2);
close(result1);