我正在尝试使用asp-perl预处理一些嵌入了perl,asp风格的文件(可能没关系,但它不是html)。
例如:
want this <%="yes"%>
not this <%print "no" %>
我希望它能够产生:
want this yes
not this
并将'no'结尾放在不同的文件或流中。
是否有一些标志/配置来启用它?我试着查看CGI,Apache :: ASP,......没有什么东西可以跳出来。
EDIT。在调试器中烧了一堆时间后,我发现覆盖这两个子节点给了我想要的结果。有点黑客。我想我只需要第一个子。第二是避免写入文件。
sub Apache::ASP::InitPackageGlobals {
my $self = shift;
# unless ($self->{response_tied}) {
# # set printing to Response object
# $self->{response_tied} = 1;
# tie *RESPONSE, 'Apache::ASP::Response', $self->{Response};
# select(RESPONSE);
# }
# ---- init package objects ----
# unoptimized this because we should only call this function once
# and maybe twice if there is a defined Script_OnStart
for my $object (@Apache::ASP::Objects) {
for my $import_package (@{$self->{init_packages}}) {
my $init_var = $import_package.'::'.$object;
$$init_var = $self->{$object};
}
}
undef;
}
my $parse_results = "";
sub Apache::ASP::CGI::print {
shift;
$parse_results .= join("", map { ref($_) =~ /SCALAR/ ? $$_ : $_; } @_);
}