Hi Chris,
The latest version of Apache::Filter has Apache::PerlRunFilter, which is (to my
knowledge) the first Filter-aware version of Registry or PerlRun. Try giving
that a shot.
The SSIChain & OutputChain side of things isn't so well supported anymore, it
may not be worth going in that direction.
[EMAIL PROTECTED] (Christopher Hicks) wrote:
>I've used the lines below and the various other provided incantations for
>using Apache::SSI or Apache::SSIChain.
>
>PerlModule Apache::SSIChain
>PerlModule Apache::Filter
>PerlModule Apache::SSI
>PerlModule Apache::OutputChain
>Alias /ssiperl/ /www/perl/ssibin/
><Location /ssiperl>
> SetHandler perl-script
># PerlSendHeader On
> PerlSetVar Filter On
># PerlHandler Apache::OutputChain Apache::SSIChain Apache::Registry
># PerlHandler Apache::SSIChain Apache::Registry
> PerlHandler Apache::Registry Apache::SSI
> Options +ExecCGI
></Location>
>
>The SSI's get included, but they're all at the top of the file. Both of
>the PerlHandler lines commented out above have SSIChain as the last thing
>which is what the docs say to do. But the includes still get included
>before the rest of the file.
>
>I've scoured the modperl archives. I've read through the source and
>documentation to Apache::SSI*. Does anyone have any ideas?
>
>My workaround:
>
>sub processSSI {
> my ($text,$r) = @_;
>
> my @lines = split(/\n/,$text);
>
> my ($line,@el,$command,$key,$val,%param);
>
> foreach $line (@lines) {
> if ($line =~ /<!--#(.*)-->/) {
> @el = split(/\s+/,$1);
> $command = lc(shift(@el));
> foreach (@el) {
> ($key,$val) = split(/=/);
> $key = lc($key); # lower case key
>
> # strip double quotes if they're there
> # and balanced
> if (substr($val,0,1) eq '"') {
> if (substr($val,-1,1) eq '"') {
> chop($val);
> substr($val,0,1) = '';
> }
> }
> $param{$key}=$val;
> }
> if ($command eq "include") {
> if (defined( $param{'virtual'} )) {
>
Apache::Include->virtual($param{'virtual'});
> }
> }
> } else {
> print $line, "\n";
> }
> }
>}
>
>This handles my needs. It is a disadvantage to be stuck with putting
>anything that isn't an "include virtual" into a file which is then called
>via an "include virtual". But at least it works.
>
>--
></chris>
>
>"The only thing more frightening than a programmer with a screwdriver
>or a hardware enginner with a program is a user with wire cutters and
>the root password." - Elizabeth Zwicky
>
------------------- -------------------
Ken Williams Last Bastion of Euclidity
[EMAIL PROTECTED] The Math Forum