ik heb dus de volgende mini-template parser sub geschreven,
maar als ik die debug regel dus uncomment en ik stuur als hash
"naam" => "waarde"
dan wordt er dus geprint:
naam -
naam - waarde
dus hij gaat als het ware dubbel door die loop heen?
dit is echt uber ranzige code, wie geeft mij een duwtje in de goede (cleane) richting?
owjah, en hoe controleer ik of een hash leeg is? want als ik dan geen hash met waarden meegeef om te replacen kan hij natuurlijk die hele loop overslaan sgeelt weer cpu time
maar als ik die debug regel dus uncomment en ik stuur als hash
"naam" => "waarde"
dan wordt er dus geprint:
naam -
naam - waarde
dus hij gaat als het ware dubbel door die loop heen?
dit is echt uber ranzige code, wie geeft mij een duwtje in de goede (cleane) richting?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| sub dotemplate {
open(FILE,$_[0]) || &cgierror("kan $filename niet openen!");
@filearray = <FILE>;
close(FILE);
foreach $line(@filearray) {
while ( ($key, $value) = each %{$_[1]}) {
# $gefixed .= "debug: $key-$value";
$line =~ s/\#\%$key\%\#/$value/gi;
}
$gefixed .= $line;
}
return $gefixed;
} |
owjah, en hoe controleer ik of een hash leeg is? want als ik dan geen hash met waarden meegeef om te replacen kan hij natuurlijk die hele loop overslaan sgeelt weer cpu time