Steve: CGI Verzeichnis auslesen

Hallo zusammen

ich möchte den Namen des CGI-Verzeichnisse auslesen.

Mit print $ENV{'SCRIPT_NAME'}; bekomme ich immer noch "hinten" den Programmnamen mitgeliefert.

Kennt jemand eine fertige Routine, die den Programmnamen entfernt.

Bye

Steve

  1. Moin!

    ich möchte den Namen des CGI-Verzeichnisse auslesen.

    Warum tust du es nicht einfach ;-)

    Mit print $ENV{'SCRIPT_NAME'}; bekomme ich immer noch "hinten" den Programmnamen mitgeliefert.

    Kennt jemand eine fertige Routine, die den Programmnamen entfernt.

    Kennst du das File::Basename-Paket?

      
    use File::Basename;  
      
    print dirname($ENV{'SCRIPT_NAME'}), "\n";  
    
    

    Grüße, Robert

    1. Hi Robert,

      danke dir !

      Das mit use File::Basename; kannte ich noch nicht.

      Bye

      Steve

    2. Hi Robert,

      müsste das auch nicht mit FindBin gehen?

      Bye

      steve

      1. Hallo Steve,

        müsste das auch nicht mit FindBin gehen?

        viele Wege führen nach Rom ;)

        Gruß,
        Benne

        --
        ie:% fl:( br:> va:) ls:> fo:| rl:° ss:) de:[ js:| ch:| mo:} zu:)
  2. ich möchte den Namen des CGI-Verzeichnisse auslesen.

    Du meinst das aktuelle Verzeichniss?

    Evtl. suchst du: use Cwd;

    Struppi.

    1. Hi Struppi,

      ja da war es...

      Bye

      Steve

    2. Hi Struppi,

      ich habe doch noch ein Problem:

      use Cwd;
      $gPathCgi = getcwd();

      Leider liefert mir das obige Skript nur:
      W:/cgi-bin/test

      Ich brauche aber davor die Angabe der Domain. Auf meinen lokalem System also:
      http://localhost/cgi-bin/test

      Hast du noch einen Tipp?

      1. Ich brauche aber davor die Angabe der Domain. Auf meinen lokalem System also:
        http://localhost/cgi-bin/test

        Du kannst du Angabe nur über die Umgebungsvariabeln ermitteln.

        evtl hilft dir
        $ENV{SERVER_NAME}
        $ENV{SCRIPT_NAME}

        Das was der Server aus den Angaben macht muss nichts mit der Verzeichnissstruktur auf dem Filesystem zu tun haben.

        Struppi.

        1. Hi Struppi,

          danke dir.

          Aber damit geht es nicht. Ich habe jetzt eine Konstante definiert.

          Bye

          Steve

          1. Aber damit geht es nicht. Ich habe jetzt eine Konstante definiert.

            Was geht nicht?
            Die Werte sind bei deinem System nicht gesetzt?

            Du kannst dir alle Umgebungsvariabeln so ausgeben lassen:
            use CGI qw/:standard/;

            print header,  
              start_html,  
              h2("Environment:"),  
              (map { p("$_ => $ENV{$_}") } sort keys %ENV),  
              end_html;  
            
            

            eigentlich sollte da was dabei sein.

            Struppi.