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->{''};