Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: comparing two huges files

by grep (Monsignor)
on Jan 28, 2008 at 04:08 UTC ( #664625=note: print w/replies, xml ) Need Help??

in reply to comparing two huges files

It's a little difficult to understand the specific details (that and it's hard to read w/o <code> tags), but I think I can figure out enough to help you.

Create a hash. Read the 10K file first. Use the 1st col as the key and the rest of the record as the value.

Then when you loop over the second file if the first col exists in the original hash, write whatever record you want to the file.

Here is some code - It may not do exactly what you want, but that is because I'm guessing your spec.

## UNTESTED use strict; my %hash; open(FH,'<','oldfile') or die "$!\n"; foreach (<FH>) { chomp; my ($key,$data) = split(/\|/,$_,2); $hash{$key} = $data; } close FH; open(NEW,'<','newfile') or die "$_\n"; open(OUT,'>','outfile') or die "$_\n"; foreach (<NEW>) { chomp; my ($key) = split(/\|/,$_,2); if ( exists $hash{$key} ) { print OUT "$hash{$key}\n"; } }
One dead unjugged rabbit fish later...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://664625]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (8)
As of 2018-03-21 13:16 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (267 votes). Check out past polls.