HI there,

I have a huge file (~7GB) of text data. I need to parse it to extract
something : basically minima and maxima, and then i need to quantify
the data into an output file based on ranges.

Now the problem is that the traditional method of opening and foreach
which is as follows:

open(FILE,"data.txt");
$min = 100;
$max = 0;

foreach $data (<FILE>) {
        if ($min > $data ) {
                $min = $data ;
        }
        elsif ($max < $data) {
                $max = $data ;
        }
}
print $max, $min;
close FILE;

fails to work, as perl is trying to load the complete file into memory!

Now i also tried changing it to STDIN instead, by catting the data from
the text file.

./script.pl < data.txt

but this too gave the same error

Out of memory!

So kindly help me on how to do this thing.

thanks
Saurabh

Reply via email to