XAMPP, Perl und @INC
Beat
- perl
0 hotti0 Patrick Andrieu0 Beat0 Alexander (HH)0 Beat
0 Patrick Andrieu0 Struppi
0 Alexander (HH)
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
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
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
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
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
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
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
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.
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
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
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
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