Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8196[/thread]

perl module

Leser: 1


<< >> 6 Einträge, 1 Seite
paidopoieo
 2006-07-25 01:29
#68365 #68365
User since
2005-12-02
96 Artikel
BenutzerIn
[default_avatar]
hi,
ich hab mehrere gleiche perl module in verschiedenen ordnern. wie kann ich feststellen, welche module mein perl tatsaechlich verwendet


mfg
betterworld
 2006-07-25 04:32
#68366 #68366
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Wenn es Dir um ein bestimmtes Modul geht, kannst Du es laden und danach perl fragen, woher es das Modul geladen hat.
Code: (dl )
1
2
3
use Mein::Modul;
use Data::Dumper;
print Dumper \%INC;
\n\n

<!--EDIT|betterworld|1153787715-->
Crian
 2006-07-25 13:53
#68367 #68367
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Perl nimmt das erste, dass er in @INC findet.

Ich benutze in meinem Modul TagBase.pm folgende Methode, um den Pfad zum Modul herauszufinden:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sub _finde_pfad () {
#--------------------------------------------------------------------------
# sub : _ f i n d e _ p f a d
#--------------------------------------------------------------------------
# Autor : CD
# Aufgabe : Sucht den Pfad des Moduls.
# Parameter : keiner (wertet @INC aus)
# Rückgabewert : Verzeichnis
#--------------------------------------------------------------------------
# 0.0.1 - 20.08.2003 - CD - Erstellt
#--------------------------------------------------------------------------

for my $pfad (@INC) {
return $pfad if -e "$pfad/TagBase.pm";
}
return '.';
} # sub _finde_pfad
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
GwenDragon
 2006-07-25 16:26
#68368 #68368
User since
2005-01-17
14563 Artikel
Admin1
[Homepage]
user image
Könnte nicht die Reihenfolge der Pfade in @INC mittels shift und unshift geändert werden, dass Perl zuerst die eigenen Module sucht. Ginge doch.
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

sid burn
 2006-07-25 16:39
#68369 #68369
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
[quote=GwenDragon,25.July.2006, 14:26]Könnte nicht die Reihenfolge der Pfade in @INC mittels shift und unshift geändert werden, dass Perl zuerst die eigenen Module sucht. Ginge doch.[/quote]
Wenn die Module mittels "use" eingebunden werden dann nicht. Weil die Module bei "use" zur Kompilierzeit eingebunden werden. Die veränderungen mit "shift", "unshift" passieren aber erst zur Laufzeit.

Man müsste wenn dann noch ein "BEGIN{ }" Block drum herum machen.

Allerdings kann man dann gleich "use lib LISTE" verwenden, dass erweitert die Pfade zur Kompilierzeit am Anfang des Arrays @INC.\n\n

<!--EDIT|sid burn|1153831237-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
paidopoieo
 2006-07-26 22:45
#68370 #68370
User since
2005-12-02
96 Artikel
BenutzerIn
[default_avatar]
danke hat wunderbar geklappt.....
<< >> 6 Einträge, 1 Seite



View all threads created 2006-07-25 01:29.