> my $oBook;
> my $oWks;
> foreach $hashEntry ( @LOGS )
> {
>
> my ( $localfile) = $hashEntry->{name};
> my ( $err_msg ) = ""; # error message
> variable
>
>
> my $cmd = "";
>
> #
> # Get row count of each file, to generate results file
> #
> $oBook = new
> Spreadsheet::ParseExcel::Workbook->Parse($localfile); my
> ($iR, $iC, $oWkS, $oWkC); $oWkS = ${$oBook->{Worksheet}}[0];
>
> print "------ SHEET: ".$oWkS->{Name}. "\n";
> print "Row: ".$oWkS->{MinRow}." v ".$oWkS->{MaxRow}."\n";
>
> $resultMessage.=basename($localfile).",".$oWkS->{MaxRow}."\n"; }
>
> The problem I am running into is after 10 files (in testing all 31
> files are the same source file with different names), and then I get
> an out of memory error. Anyone have any idea how I can clean out the
> memory. I have a feeling it might be some autocaching or something
> not getting cleaned up within ParseExcel.
If you move the 'my $oBook' inside the for loop it the object should be
destroyed on each iteration:
for my $hashEntry ( @LOGS )
{
my ( $localfile) = $hashEntry->{name};
my ( $err_msg ) = ""; # error message
variable
my $cmd = "";
#
# Get row count of each file, to generate results file
#
my $oBook = new
Spreadsheet::ParseExcel::Workbook->Parse($localfile);
my ($iR, $iC, $oWkC);
my $oWkS = ${$oBook->{Worksheet}}[0];
print "------ SHEET: ".$oWkS->{Name}. "\n";
print "Row: ".$oWkS->{MinRow}." v ".$oWkS->{MaxRow}."\n";
$resultMessage.=basename($localfile).",".$oWkS->{MaxRow}."\n";
}
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>