Frédéric: interpretation von SSI in scripts

Ich kann mein problem nicht gut beschreiben also werde ich ein Beispiel schreibe:

(in ein perl script)
print<<EOH;
text text text
<!--#exec cgi="files/survey/poll.pl" -->
text text text
EOH

Das Problem ist, dass es die SSI Funktion (exec) nicht ausführt... er startet den poll.pl script nicht.
Gib es eine Möglichkeit dies zu ändern?

(Ohne dass ich den script poll.pl direkt ausführen muss, via einer Funktion (bsp. &poll;))

  1. hi!

    (in ein perl script)
    print<<EOH;
    text text text
    <!--#exec cgi="files/survey/poll.pl" -->
    text text text
    EOH
    Das Problem ist, dass es die SSI Funktion (exec) nicht ausführt...
    er startet den poll.pl script nicht.

    Nein, das geht auch nicht, in den Output von CGI-Skripts SSI-Kommandos
    einzubauen, denn der Apache (1.x) schickt den Output solcher Skripts
    nicht durch seinen SSI-Interpreter. Macht ja auch nichts aus, weil man
    alles, was man mit SSI machen kann, auch im Perl-Skript machen kann.

    bye, Frank!

    1. Nein, das geht auch nicht, in den Output von CGI-Skripts SSI-Kommandos
      einzubauen,

      doch, das geht sehr wohl.

      http://search.cpan.org/search?dist=CGI-SSI

      1. Hi,

        doch, das geht sehr wohl.
        http://search.cpan.org/search?dist=CGI-SSI

        naja, nicht wirklich:

        DESCRIPTION

        #   CGI::SSI is meant to be used as an easy way to filter shtml through CGI
        #   scripts in a loose imitation of Apache's mod_include. If you're using
        #   Apache, you may want to use either mod_include or the Apache::SSI module
        #   instead of CGI::SSI. Limitations in a CGI script's knowledge of how the
        #   server behaves make some SSI directives impossible to imitate from a CGI
        #   script.
        #   CGI::SSI has it's own flavor of SSI. Test expressions are Perlish. You
        #   may create and use multiple CGI::SSI objects; they will not step on each
        #   others' variables.
        #   Object-Oriented methods use the same general format so as to imitate SSI
        #   directives:
        #       <!--#include virtual="/foo/bar.footer" -->
        #     would be
        #       $ssi->include(virtual => '/foo/bar.footer');
        #   likewise,

        Also: Die Semantik eines Teils von SSI läßt sich mit diesem Modul nachbilden,
        nicht aber die Syntax. Was innerhalb des Perl-CGI-Skripts steht, scheint immer
        noch korrektes Perl sein zu müssen, nicht aber Original-SSI.

        Aber wie bereits von Frank erwähnt: Wenn man SSI eh nur nachbilden kann, dann
        geht das bei den meisten SSI-Direktiven in CGI/Perl so einfach, daß man dafür
        kein externes Modul braucht.

        Viele Grüße
              Michael

        1. http://search.cpan.org/search?dist=CGI-SSI
          naja, nicht wirklich:
          Also: Die Semantik eines Teils von SSI läßt sich mit diesem Modul nachbilden, nicht aber die Syntax.

          hä?

          SYNOPSIS

          autotie STDOUT or any other open filehandle

          use CGI::SSI (autotie => STDOUT);

          print $shtml; # browser sees resulting HTML

          __END__