in reply to Re: memory leak
in thread memory leak
# Original I use Text::Template to get $Text,
# I replace it by my owner subroutine.
my $Text=GetTextFromVar($mark,$linehash);
sub GetTextFromVar
{
my $mark=shift; # template file's name
my $linehash=shift;
if($CurrentTemplateFile ne $mark)
# <- if the template file has been loaded into momory,don't load it next
{
# old use : $Template=Text::Template->new(TYPE=>'FILE',SOURCE=>$mark);
open(FH,'<',$mark);
$CurrentTemplateFile=$mark;
local $/=undef;
$CurrentTemplateContent=<FH>;
}
# old use : return $Template->fill_in(HASH=>$linehash);
# old usage create memory leap
my $content=$CurrentTemplateContent;
while(my ($key,$value)=each(%$linehash))
{
if($key=~m/^\w+\d*$/)
{
$content=~s/\{\$$key\}/$value/g;
}
}
return $content;
}
|
|---|