http://www.perlmonks.org?node_id=734557


in reply to comparing two files, with known variations

Hi Sathiyamoorthy,

I don't know is there any tools for that. Since there are only 2500 lines, we can do the job in a normal way.

1. read one line at a time using 'while' or read and store in 2 arrays + line by line. (open, while, @file1, @file2, '<') 2. 'split' the line with '$#$' in both the arrays/lines. (split, @arra +y1, @array2) 3. In a subroutine compare first, second and third field of the array +1 with first, second and third field of the array2 respectivey, for t +he difference. (for time comparison you can use Date::Manip or Date::Calc module) (&s +ubroutine) 4. write the result in a file to create a report. (open, '>')

Prasad

Replies are listed 'Best First'.
Re^2: comparing two files, with known variations
by sathiya.sw (Monk) on Jan 07, 2009 at 06:51 UTC
    fine on your reply. But i am interested in knowing about the tools / modules to do this Job.
    And also, it is not 2,500 it is 25,000 minimum.
    Thanks for your reply, hence i got some modules for comparison, and other ideas.
    Sathiyamoorthy
      Hi,
      I feel that your worry is about 25000 lines of data into hash or into perl's memory!.
      If my guess is correct, you can use DBM::Deep. But since the data will be stored in a file, it will not be as quick as normal hash.
      Use the *nix sort and diff utilities.

      As far as field separator is concerned, it looks like your file is fixed format; you could just use a space...

      Revised: Sorry, I realize that doesn't handle your definition of time identity.