local $ARGV = ($templfile);
my $i = '';
while (<>)
{
if ( /^\s*<\s*TEMPLATE\s+NAME="(.*)"\s*>/i )
{
$i = $1;
}
elsif ( /^\s*<\s*\/\s*TEMPLATE\s*>/i )
{
$i = '';
}
else
{
$hashref->{$i} .= $_;
}
}
# cleanup:
delete $hashref->{''};
####
while (<>)
{
no warnings 'uninitialized';
/^\s*<\s*TEMPLATE\s+NAME="(.*?)"\s*>/i
..
/^\s*<\s*\/\s*TEMPLATE\s*>/i
and $h{$1} .= $_;
}
# cleanup
delete $hashref->{''};
s/^\s*<\s*TEMPLATE\s+NAME="(.*?)"\s*>\s*//i
for values %$hashref;
####
local $/;
local $_ = <>;
%$hashref = /\s*<\s*TEMPLATE\s+NAME="(.*?)"\s*>(.*?)\s*<\s*\/\s*TEMPLATE\s*>/sig;