2010-06-18 3 views

Répondre

2

Vous pouvez le trouver par rapport au code correspondant, en utilisant %INC pour trouver où le code lié vit:

package Foo::Bar; 
# this code lives in ...something.../lib/Foo/Bar.pm 

package Unrelated; 

use File::Spec; 
use Foo::Bar; 

my $filename = 'Foo/Bar.pm'; 
(my $libpath = $INC{$filename}) =~ s#/\Q$filename\E$##g; ## strip/and filename 
my $script = File::Spec->catfile($libpath, qw(scripts findmeifyoucan.pl)); 
+0

C'est génial, merci. Une autre question: J'utilise Module :: Build, et aucun des répertoires 'scripts' ou' t' n'apparaît ici. Je suppose que j'ai besoin de configurer 'Build.pl' pour les installer aussi? Ou sont-ils installés à un autre endroit, autre que le répertoire source? –

+0

@Pedro: Je ne peux pas dire avec certitude; Je n'ai pas utilisé cette lib depuis un bon moment. Je pense qu'une question similaire a peut-être été posée ici (ou vous pouvez la poser vous-même en tant que nouvelle). – Ether

Questions connexes