Ralf d.: Probleme mit $ENV{SCRIPT_NAME}

Beitrag lesen

Ok, Hier jetzt ein bisschen was aus dem COde:

use strict;
use CGI qw( :cgi );
use Template ();

our $templDir= "C:/templates";
our $action = $ENV{"SCRIPT_FILE_NAME"};
#our $action = "/cgi-bin/reg.pl";
our $q=new CGI();

--> wenn ich jetzt hier die $action ausgeben lasse steht nix drin
--> wenn ich die auskommentierte Zeile verwende steht zwar was drin aber ich kriege den ServerFehler wie im ersten Post beschrieben.

So gehts weiter:
our @headers=("Content-Type: text/html" );
our $headersSent=0;
printHeaders();
printLoginForm();
.
.
.
und hier die Subroutinen die aufgerufen wird:
sub printHeaders
{
        if( $headersSent)
        {
                return;
        }

foreach my $header (@headers)
        {
                print ("$header\n");
        }
        print ("\n");
        $headersSent=1;
}

sub printLoginForm
{
        my $fname="wfLoginForm.html";
        my $path="$templDir/$fname";
        my $templ = new Template( $path, "r" );

unless( $templ )
        {
                return undef;
        }

my %subs =();                 #Hash deklarieren

# $action wird im Hauptprogramm gesetzt
        #Hash mit keys und werten setzen
        $subs{"action"} = $action;
        $subs{"login"} = $q->param( "login" ) || "";
        $subs{"pwd"} = $q->param( "pwd" ) || "";
        $subs{"pwdRepeat"} = $q->param( "pwdRepeat" ) || "";
        $subs{"email"} = $q->param( "email" ) || "";

print( $templ->substitute( %subs ));         #referenz auf das subs-hash
}

Hoffe das nützt was.
Ich hab jetzt mal nur Austüge aus dem Code gepostet, ich kann auch den gesamten posten, is halt bisser lang, und ich denke wenn ichs hinkriege das ein Template aufgerufen wird dann ists mit den anderen auch kein problem.

gruss

ralf