Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://664625]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (2)
As of 2021-07-26 01:48 GMT
Find Nodes?
    Voting Booth?

    No recent polls found