PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Parameter Übergabe an Perl Skript bei mod_actions



craano
09-12-2008, 22:33
Hallo,
in der httpd.conf habe ich einen neuen Handler eingefügt. Alle aufgerufenen Dateien mit der Endung werden an ein Perl Skript übergeben.

<DIRECTORY /var/www/sec/>
AddHandler sec-html sechtml
Action sec-html /cgi-bin/sec.pl
</DIRECTORY>

Ich möchte den Quelltext der übergebenen Dateien mit dem Perl Skript bearbeiten / verändern und dann erst vom Apache ausgeben lassen.
Wenn ich es richtig verstanden habe, dann wird die .sechtml - Datei an das Skript übergeben. Das Skript wird auch ausgeführt, wenn auf eine entsprechende Datei zugegriffen wird.
Wie kann ich denn nun in dem Perl Skript auf die übergebene Datei zugreifen? Sie wird nicht als Parameter übergeben.
Am liebsten hätte ich den ganzen Dateiinhalt (ist alles nur HTML Code) in einer Varibalen gespeichert.

Grüße.
craano.

craano
10-12-2008, 15:35
# Files of a particular file extension
AddHandler my-file-type .xyz
Action my-file-type /cgi-bin/program.cgi

In the second example, requests for files with a file extension of
.xyz are handled instead by the specified cgi script
/cgi-bin/program.cgi.

Dieses Beispiel wird in dieser Doku gegeben: http://httpd.apache.org/docs/1.3/mod/mod_actions.html#script
Aber wie wird denn die Datei übergeben?
Das Script wird ausgeführt, das kann ich an einer Testausgabe sehen. Aber wie kann ich denn in dem Beispiel innerhalb des aufgerufenen Perl Skriptes auf *.xyz zugreifen?

Grüße.
craano.

Molaf
10-12-2008, 19:54
Hallo!

Wenn Du CGI.pm verwendest (was ich einfach mal vermute), dann der Datenstrom vermutlich als Filehandle übergeben, da könntest Du dann bei file-upload nachsehen : http://search.cpan.org/~lds/CGI.pm-3.29/CGI.pm

Ansonsten wird es vermutlich als Parameter übergeben.

Ich hoffe das hilft, selber habe ich aber noch nie Handler in apache vergeben, außer für cgi-bin/.

Molaf