in reply to Re: Re: Out of memory! message
in thread Out of memory! message

Untested, but let's go for ease of programming here. The suggestion to use MLDBM is very good, as the error is probably due to storing so much in %main_data.
while(@data = $sth->fetchrow_array()) { ($curpidm, $curcrn) = @data[0, 8]; my $dest = $main_data{$curpidm}; unless($seen_pidm{$curpidm}) { $seen_pidm{$curpidm} = 1; push(@pidms, $curpidm); @$data{qw( Resd Edlv Styp Degc Majr Egol Aprv TermCodeEff Cipc + )} = @data[1 .. 7, 14, 15]; } my $crn = $dest->{$curcrn}; @$crn{ qw( Subj Crs Section Sess CreditHr )} = @data[9 .. 13]; $dest->{CurHrs} += $data[13]; unless($seen_crn{$curcrn}) { $seen_crn{$curcrn} = 1; push(@crns, $curcrn); } } # probably unnecessary # $sth->finish();
If that's not correct syntax, it's pretty close. At least it's shorter.