@INC

Guten Morgen NG,

wo ist denn eigentlich [at] INC gespeichert?
Wie kann ich [at] INC dauerhaft (über den nächsten Systemstart hinaus)
ändern (perl -I ist nicht gemeint)?

Danke Frank
Frank Kulow [ Fr, 07 September 2007 08:32 ] [ ID #1815227 ]

Re: @INC

Frank Kulow wrote:
>
> wo ist denn eigentlich [at] INC gespeichert?

Der Inhalt von [at] INC wird beim Start von perl dynamisch
aus diversen Angaben aufgebaut. Die Standardsuchpfade sind
im Perl-Exceutable hartkodiert.

> Wie kann ich [at] INC dauerhaft (über den nächsten Systemstart hinaus)
> ändern (perl -I ist nicht gemeint)?

Kommt drauf an, was Du unter "ändern" verstehst.
Am Anfang Pfade hinzufügen kannst Du durch Setzen der
Environmentvariablen PERL5LIB oder PERLLIB (siehe perlrun).

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel
Frank Seitz [ Fr, 07 September 2007 09:43 ] [ ID #1815228 ]

Re: @INC

Frank Kulow <kulow [at] gmx.de> writes:

> Guten Morgen NG,
>
> wo ist denn eigentlich [at] INC gespeichert?
> Wie kann ich [at] INC dauerhaft (über den nächsten Systemstart hinaus)
> ändern (perl -I ist nicht gemeint)?

Der Wert ist im perl-Binary fest gespeichert. Beim Bauen von perl kann
man den Wert erweitern, siehe otherlibdirs in INSTALL.

Gruß,
Slaven

--
Slaven Rezic - slaven <at> rezic <dot> de
Tired of using file selectors? Real programmers use the TAB key for
completion and not for jumping around. Try
http://search.cpan.org/search?mode=module&query=Tk::PathEntr y
Slaven Rezic [ Fr, 07 September 2007 10:08 ] [ ID #1815229 ]

Re: @INC

Frank Kulow schrieb:
> Guten Morgen NG,
>
> wo ist denn eigentlich [at] INC gespeichert?
> Wie kann ich [at] INC dauerhaft (über den nächsten Systemstart hinaus)
> ändern (perl -I ist nicht gemeint)?

Für solche Vorgaben ist das script "sitecustomize.pl" gedacht,
das im sitelib-Verzeichnis liegt.

Den richtigen Pfad findest Du mittels
perl -MConfig -e 'print $Config{sitelib}'

-Christian
Christian Winter [ Fr, 07 September 2007 20:53 ] [ ID #1815245 ]

Re: @INC

"Christian Winter":

> Für solche Vorgaben ist das script "sitecustomize.pl" gedacht,
> das im sitelib-Verzeichnis liegt.
>
> Den richtigen Pfad findest Du mittels
> perl -MConfig -e 'print $Config{sitelib}'

Wobei Perl hierfür mit -DUSE_SIZECUSTOMIZE compiliert
worden sein muss. Ab Perl 5.9 kann man dieses Verhalten mit
dem -f Switch steuern.

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol [at] adv.magwien.gv.at
Ferry Bolhar [ Mi, 12 September 2007 12:03 ] [ ID #1818960 ]

Re: @INC

Ich schrieb:

> Wobei Perl hierfür mit -DUSE_SIZECUSTOMIZE compiliert
> worden sein muss. Ab Perl 5.9 kann man dieses Verhalten mit
> dem -f Switch steuern.

Sorry, sollte -DUSE_SITECUSTOMIZE (mit 'T' statt 'Z') heißen!

LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol [at] adv.magwien.gv.at
Ferry Bolhar [ Mi, 12 September 2007 13:31 ] [ ID #1818963 ]

Re: @INC

Frank Seitz schrieb:
>
> Kommt drauf an, was Du unter "ändern" verstehst.
> Am Anfang Pfade hinzufügen kannst Du durch Setzen der
> Environmentvariablen PERL5LIB oder PERLLIB (siehe perlrun).
>

Die Nutzung von PERLLIB erfüllt mein Anliegen, bei einem Script habe ich
aber seit dem:

Tk::Text object version 804.027 does not match $Tk::Text::VERSION 4.024
at c:/Perl/lib/DynaLoader.pm line 253.
Compilation failed in require at ./p.pl line 88.


Im eingetragenen Pfad befindet sich aber nichts von Tk.

Ich habe

perl, v5.8.7 built for cygwin-thread-multi-64int


und


perl, v5.8.7 built for MSWin32-x86-multi-thread


auf dem Rechner, die sich aber normalerweise nicht behaken.


Gruß Frank
Frank Kulow [ Mi, 12 September 2007 16:43 ] [ ID #1818964 ]

Re: @INC

Ferry Bolhar schrieb:
>
>> Wobei Perl hierfür mit -DUSE_SIZECUSTOMIZE compiliert
>> worden sein muss. Ab Perl 5.9 kann man dieses Verhalten mit
>> dem -f Switch steuern.
>
> Sorry, sollte -DUSE_SITECUSTOMIZE (mit 'T' statt 'Z') heißen!

Zumindest ein Teil der aktuellen Perl-Distibutionen sollte
damit kompiliert sein (ActiveState und einige Linux-Distris
haben den Schalter gesetzt). Der "-f" Switch ist schon von
Anfang an (=5.8.7) verfügbar (http://tinyurl.com/2ume6k).

Viele Grüße
Christian
Christian Winter [ Mi, 12 September 2007 18:02 ] [ ID #1818965 ]
Perl » de.comp.lang.perl.misc » @INC

Vorheriges Thema: Zeichenl aus String lesen
Nächstes Thema: TCP Port testen