ik ben dus bezig met een mini-template parser, gewoon voor een scriptje wat ik zelf gebruik.
ik heb de volgende sub gemaakt:
en die sub roep ik zo aan:
het zit dus in deze regel:
while ( ($key, $value) = each %$_[1]) {
dat werkt niet
op perldoc.com vond ik dit voorbeeld:
als ik dit uitvoer geeft ie dus een 500 en ik kan nix in de logs vinden.
wat doe ik vout??? ik snap het effe niet meer
ik heb de volgende sub gemaakt:
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;
} |
en die sub roep ik zo aan:
code:
1
2
3
4
5
6
| %verplaats = (
"dit" => "dat",
"dat" => "dit"
);
$var = &foxlib::dotemplate("templates/test.thtm", \%verplaats);
print $var; |
het zit dus in deze regel:
while ( ($key, $value) = each %$_[1]) {
dat werkt niet
op perldoc.com vond ik dit voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
| @common = inter( \%foo, \%bar, \%joe );
sub inter {
my ($k, $href, %seen); # locals
foreach $href (@_) {
while ( $k = each %$href ) {
$seen{$k}++;
}
}
return grep { $seen{$_} == @_ } keys %seen;
} |
als ik dit uitvoer geeft ie dus een 500 en ik kan nix in de logs vinden.
wat doe ik vout??? ik snap het effe niet meer