Hi Gents, I tried both suggestions: # # For each log in the array # - grab the directory and name of the file. # - send via sendmail # 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 # my $oBook = new Spreadsheet::ParseExcel::Workbook->Parse($localfile); my $oWkS = ${$oBook->{Worksheet}}[0]; print "------ SHEET: ".$oWkS->{Name}. "\n"; print "Row: ".$oWkS->{MinRow}." v ".$oWkS->{MaxRow}."\n"; $resultMessage.=sprintf("%s,%s\n",basename($localfile),$oWkS->{MaxRow}); } But I still get an out of memory error on the 10th file opened. Any additional suggestions? On 4/27/05, Bakken, Luke <[EMAIL PROTECTED]> wrote: > > 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> > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>