What happens if you chop a bit off the beginning of your file? Does it still stop at the same line (indicating maybe there's something in the structure of the file itself that's confusing perl), or after the same number of lines (indicating there may be some inherent 2G limit or something)?
Just a thought.
Alan