in reply to Help with Best Practices for Module Paths when scripting across multiple machines
This the basic approach I use to find a known location for a module subdir named for itself:
You will probably need to play with it a bit, but the general approach might helpful.# used to find the location of THIS module. assumes that all support # dirs will be under a directory named after this module (without # the '.pm') # NOTE! this is a class method that doesn't check the 'cached' value. # YOU WILL BE SURPRISED if there has been an intervening chdir operati +on! # see the public 'basename_dir' method for normal use. sub _basename_dir { my $package = __PACKAGE__; $package =~ s/::/\//g; my $packpath = $INC{ join( '.', $package, 'pm' ) }; $packpath =~ s/\.pm$//; my $realpath = Cwd::realpath($packpath); return $realpath; }
|
|---|