Thread Pfad zu geladenem Modul anzeigen? (5 answers)
Opened by pktm at 2010-02-11 14:55

betterworld
 2010-02-11 15:57
#132698 #132698
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Ich benutze dazu dieses Script:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl -lw
use strict;
eval {
    require Class::Inspector;
    my $file = Class::Inspector->resolved_filename($ARGV[0]);
    unless ($file) {
        warn "not found\n";
        exit (1);
    }
    print $file;
    exit (0);
};
die unless 1 == @ARGV;
eval "require $ARGV[0]";
my $file = $ARGV[0];
$file =~ s#::#/#g;
$file .= '.pm';
print $INC{$file} || die "not found\n";


Das ist wohl mal irgendwann aus einem Einzeiler entstanden, ansonsten kann ich mir auch nicht erklaeren, warum ich da -w statt "use warnings" benutze ;-)

Class::Inspector wird iirc auch von perldoc benutzt, um das Zeug zu finden. Gegenueber der Variante mit %INC hat es den Vorteil, dass das Modul selbst nicht geladen werden muss. Denn beim Laden wird ja auch Code ausgefuehrt, manchmal will man das vielleicht nicht (Acme::Bleech zum Beispiel ;-)

View full thread Pfad zu geladenem Modul anzeigen?