|There's more than one way to do things|
Re: Comparing two filesby lyklev (Pilgrim)
|on Oct 04, 2006 at 20:08 UTC||Need Help??|
Your program has a couple of problems:
First, you are splitting on comma's, then the pc no (the first field) has index 0, index 1 gets you the ip-address.
Next, you are reading the entire second file for each line found in the first file, that will give you some serious I/O for big files.
Perl is not very good at finding out whether something is in a list. If you want to do that, think of a hash in stead. Lists are for processing bulk data element by element. Keeping this in mind, let's rewrite the program.
Assuming you have two files, pcs_old.csv and pcs_new.csv, starting with the opening stuff:
Read the old file line by line...
Now do the same for the new pc file, but instead of storing them, see if an entry exists in the database with old pc's: