line number ($.) problem ?by 5mi11er (Deacon)
|on Mar 27, 2007 at 16:29 UTC||Need Help??|
5mi11er has asked for the
wisdom of the Perl Monks concerning the following question:
I've got a bit of an odd one here. After attempting, several times, to utilize the good tool csplit on a 4.6 Gig file, and having it seg fault on me, I resorted to rolling my own short, sweet perl script.
Essentially I've discovered a kernel log file that hasn't been rotated since September of 2005, and I'd like to keep only the data for the year 2007; I'd done a grep with line numbers and discovered that the first line for 2007 was located at line 19,035,437.
And when run (with a different skip value) on a different 2.5 Gig log file, it worked beautifully, but when run on the 4.6 Gig file, I'm getting this:
Line 13 corresponds to the "printf STDOUT $_;" line.
Thinking this might be an overflow of some sort, I checked the binary representation of 20804003, and it happens to be: 1001111010111000110100011, so it's certainly not what I would think would be near an overflow.
Does anyone have any ideas of what might be happening here?
This is perl 5.8.5 running on dual intel 32 bit xeon 2.4 gig chips.