in reply to Split 2GB file and parsing

Ok, first, what happens when something you want filtered is split across a file boundary? IMHO (based on the fact that I'm shooting in the dark because you did not post any relevant code) it would be much better to:

  1. Set $/=\5242880 (that's about 5MB).
  2. Open the original 2GB file.
  3. Do a single read (something like my $data = <BIGFILE>; (this would also likely be part of a while loop due to step 7)).
  4. Process the data.
  5. seek back xKB (where x is typically 1 to 2KB; this prevents you from missing something which straddles the read boundary).
  6. Read in another chunk.
  7. Repeat from step 4 until the entire file is processed.

As far as your comment about the process "taking considerable time", we (the Monastary) cannot advise you on whether you are doing the right thing or not unless we see actual code.