Beat: XAMPP, Perl und @INC

Hi

Jemand betreibt einen XAMPP und hat Probleme mit der Einbindung meines Moduls.
@INC ist nicht um den Pfad des ausgeführten Scripts bevölkert.
Jetzt habe ich folgende Ergänzung geschrieben.

BEGIN{
   $0 =~ m#^(.*?)/[a-z]+.pl$# and push @INC, $1;
}

Jedoch weist der Fehler darauf hin, dass @INC nicht um den aktuellen Pfad zum ausführenden Script ergänzt wird.

Sind Probleme für XAMPP und @INC bekannt?

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische
  1. hi,

    Sind Probleme für XAMPP und @INC bekannt?

    Keine Ahnung. Aber an @INC mache ich nichts, dafür gibts Pragma lib:
    use lib '/home/hotti/perlmodule';
    use superHotti;

    Hab noch nicht erlebt, dass das nicht tut.

    Hotti

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  2. Hallo Beat!

    Jemand betreibt einen XAMPP und hat Probleme

    Kommt mir bekannt vor. Eigentlich gibt es keine Probleme, aber vielleicht hilft Dir der Fred: Perl unter Xampp. Andere Behandlung von @INC? und gilt als Wink dazu, dass das Archiv reicher ist, als man denkt ;)

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --
    _ - jenseits vom delirium - _

       Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
    1. Jemand betreibt einen XAMPP und hat Probleme

      Kommt mir bekannt vor. Eigentlich gibt es keine Probleme, aber vielleicht hilft Dir der Fred: Perl unter Xampp. Andere Behandlung von @INC? und gilt als Wink dazu, dass das Archiv reicher ist, als man denkt ;)

      Ich hätte gerne weniger Reichtum und mehr Essenz.

      Das Problem ist dass XAMPP de @INC nicht bevölkert.
      Wir haben jetzt ziemlich alles durchprobiert
      kanonische Shebang wurde gesetzt.
      Apache Config wurde kontrolliert.

      Wenn "." in @INC das Modul nicht findet, weiss ich keinen Rat mehr ausser XAMPP von bord zu schmeissen, und die Komponenten einzeln zu installieren.

      mfg Beat

      --
      ><o(((°>           ><o(((°>
         <°)))o><                     ><o(((°>o
      Der Valigator leibt diese Fische
      1. Moin Moin!

        Wenn "." in @INC das Modul nicht findet, weiss ich keinen Rat mehr ausser XAMPP von bord zu schmeissen, und die Komponenten einzeln zu installieren.

        Taint-Mode eingeschaltet? Dann wird "." explizit aus @INC gelöscht und weder $ENV{'PERL5LIB'} noch $ENV{'PERLLIB'} werden ausgewertet.

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
        1. Taint-Mode eingeschaltet? Dann wird "." explizit aus @INC gelöscht und weder $ENV{'PERL5LIB'} noch $ENV{'PERLLIB'} werden ausgewertet.

          Nein -T ist nicht vorhanden.

          mfg Beat

          --
          ><o(((°>           ><o(((°>
             <°)))o><                     ><o(((°>o
          Der Valigator leibt diese Fische
      2. Hallo Beat!

        Das Problem ist dass XAMPP de @INC nicht bevölkert.

        Ich habe seit dem ich den Thread startete das Problem nicht mehr. Ich nutze das von Xampp mitgebrachte Perl halt nicht, stattdessen meine eigene ActiveState Distro.

        Im der Apache-Conf noch Systeminterpretersource registry (o.Ä) für .pl und gut war. Kristallisiert alles im Laufe des - zugegeben - langen Threads raus.

        Seitdem kann ich meine Xampp-Indianer fast genauso nutzen, wie Perl aufm Webhoster-Server.

        Viele Grüße aus Frankfurt/Main,
        Patrick

        --
        _ - jenseits vom delirium - _

           Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
        J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
      3. Wenn "." in @INC das Modul nicht findet, weiss ich keinen Rat mehr ausser XAMPP von bord zu schmeissen, und die Komponenten einzeln zu installieren.

        Wie sieht denn die Ausgabe von @INC aus? Ist das überhaupt das was du willst?

        Struppi.

  3. Moin Moin!

    Ergänze mal probehalber:

      
    
    > BEGIN{  
    
    $0 =~ m#^(.*?)/[a-z]+\.pl$# or die "Ooops! $0 does not match";  
    
    >    $0 =~ m#^(.*?)/[a-z]+\.pl$# and push @INC, $1;  
    > }  
    
    

    Ich würde FindBin und lib benutzen. Folgender Code-Schnipsel funktioniert auch im Taint-Mode, dabei liegt das Script in $PREFIX/bin, die Module in $PREFIX/lib.

      
    use FindBin;  
    use lib do { $FindBin::Bin=~m|^(/.+)/[^/]+$|; "$1/lib" };  
    
    

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
    1. Moin Moin!

      Wir reden doch nicht zufällig über ein nicht-unixoides System wie Windows, oder? Dann könnten $0 und $FindBin::Bin nämlich statt "/" Backslashes enthalten, die erstmal in "/" umgewandelt werden müßten (tr|\\|/|). Perl und Windows kommen durchaus mit "/" klar, nur einige wenige, zu blöde Programme prüfen explizit auf Backslashes.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
      1. Wir reden doch nicht zufällig über ein nicht-unixoides System wie Windows, oder? Dann könnten $0 und $FindBin::Bin nämlich statt "/" Backslashes enthalten, die erstmal in "/" umgewandelt werden müßten (tr|\\|/|). Perl und Windows kommen durchaus mit "/" klar, nur einige wenige, zu blöde Programme prüfen explizit auf Backslashes.

        Wir reden von Windows.

        Ich habe die Möglichkeit eines Backslashes in meiner RE-Version erwogen.
        Aber heute gibt's keine Ergebnisse mehr.
        Die Letzte Meldung der patientin vor dem gutenacht indizierte einen Fehler in der Zeile welche use Digerst::SHA1 betrifft.
        An diesem Punkt habe ich keinen Bock mehr, dieses xampp System noch zu unterstützen, und werde morgen empfehlen, den xampp zu deinstallieren und Einzelkomponenten zu installieren.

        ActiveState läuft out of the Box, und den Appache bekommt man auch schnell auf die Reihe.

        mfg Beat

        --
        ><o(((°>           ><o(((°>
           <°)))o><                     ><o(((°>o
        Der Valigator leibt diese Fische
        1. Wir reden von Windows.

          Ich habe die Möglichkeit eines Backslashes in meiner RE-Version erwogen.
          Aber heute gibt's keine Ergebnisse mehr.
          Die letzte Meldung der Patientin vor dem Gute Nacht indizierte einen Fehler in der Zeile, welche use Digest::SHA1 betrifft.

          Guten Morgen Herr Doktor.

          Ach ich fühle mich ja immer noch so schlecht. Ihre Pillen gestern haben mir zwar geholfen, und ich kann inzwischen wieder alles essen, ohne mich zu übergeben. Aber nun stelle ich gerade fest, dass ich den Mund gar nicht aufkriege, um etwas zu essen, und ich habe irgendwie auch so volle Bäckchen.

          Geduldigst
          Ihre Patientin