http://www.perlmonks.org?node_id=1025757

sathya83aa has asked for the wisdom of the Perl Monks concerning the following question:

Hi Experts,

I'm working on a perl programming in which I'm just opening the file and using substr function splitting each line and getting some 50 variables including some arrays and printing it to the XML file. While executing this code I'm getting Out of memory error in the server. Can someone help me in resolving this issue?

Below is the code snippet of how my script looks like. I'm using a file with some 30 lines in it. Also I'm opening a log file and XML file in the same program.

#!/usr/bin/perl open (INFO, "<", "$File") or die("Cannot open the flat file"); open(my $LOG,">>LOG_file") or die("Cannot open"); open(XML,">xml_file") or die("Cannot open"); foreach $line2 (<INFO>) { $line2 =~ s/&/&amp;/g; print "$line2\n"; my $segment = substr($line2,0,2); if($segment eq "00") { my $Var1 = trim(substr($line2,40,8)); } if($segment eq "A0") { $Var2 = trim(substr($line2,2,9)); $Var3 = trim(substr($line2,14,3)); $Var4 = trim(substr($line2,20,42)); $Var5 = trim(substr($line2,62,30)); and so on } close LOG_file; close xml_file; close INFO; sub trim($) { my $string = shift; $string =~ s/^\s+//; $string =~ s/\s+$//; return $string; }

Thanks & Regards,

Sathya V.