Wie unterscheidet sich die Verwendung von local :: lib von der Verwendung von lib?

8

Ich verstehe nicht, was use local::lib so normal macht < a href="http://perldoc.perl.org/lib.html"> use lib nicht. Könnte es jemand erklären?

    
xenoterracide 26.01.2011, 08:41
quelle

3 Antworten

18

local::lib

  1. Der Standardwert ist ~/perl5 , wenn Sie kein Verzeichnis angeben (während use lib; ein Nicht-Op ist).

  2. Löst relative Pfade zu absoluten Pfaden auf, bevor sie zu @INC hinzugefügt werden. ( lib fügt nur den relativen Pfad hinzu, wie er ist.)

  3. Erweitert ~ und ~user im Verzeichnisnamen.

  4. Hängt /lib/perl5 an das von Ihnen angegebene Verzeichnis an. (Also use local::lib '/foo'; entspricht etwas use lib '/foo/lib/perl5'; .)

  5. Fügt DIR/bin Ihrem Pfad hinzu, damit Sie Skripts verwenden können, die von lokalen Modulen installiert wurden.

cjm 26.01.2011, 09:12
quelle
5

use lib fügt Ihrem Modul-Suchpfad ein Verzeichnis hinzu ( @INC ). Es hat keine Auswirkungen auf etwas außerhalb des Programms oder Moduls, das die use lib -Direktive enthält.

local::lib soll verwendet werden, um ein Installationsverzeichnis für private Module zu aktivieren. Wenn Sie Ihre Shell-Umgebung so konfigurieren, wie es empfohlen wird, wird dieses private Verzeichnis für alle Installationen von Perl-Modulen verwendet (ob über CPAN oder manuell) make install ) und die dort installierten Module werden allen Perl-Programmen / Modulen zur Verfügung gestellt, die in Ihrer local::lib -aware Shell-Umgebung ausgeführt werden.

    
Dave Sherohman 26.01.2011 09:15
quelle
3

Regulär use lib foo ist fast so einfach wie:

%Vor%

Während use local::lib viele andere Perl-Umgebungsvariablen setzt, um sicherzustellen, dass Sie Module lokal installieren können, sehen Sie sich die Quelle an.

    
zoul 26.01.2011 09:04
quelle

Tags und Links