in reply to reading from a huge file
You can always use Tie::File and tie to the file. (See especially mode for finer control.)
Something along the lines of (taken pretty much straight from the POD):
use Tie::File; use Fcntl 'O_RDWR'; tie my @contents, 'Tie::File', $ARGV[0], mode => O_RDWR; # Assumes you pass the file name on the command line
You can now cycle through @contents like a typical array, each field being a line of your file. Be careful, the mode passed will determine the sort of changes (if any) you can make to the file, whether intentional or otherwise.
Both Tie::File and Fcntl are core modules, so no CPAN necessary.
While Fcntl isn't entirely necessary, it will help you maintain finer control over how the file is accessed on disk. Again, see the 'mode' section of the documentation.
Notes: strict and warnings implied. I haven't tried this with a file of the size you are dealing with, but have had success with other large files (>4G) in the past.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: reading from a huge file
by BrowserUk (Patriarch) on Mar 21, 2011 at 20:40 UTC | |
by chilledham (Friar) on Mar 21, 2011 at 20:41 UTC |