суббота, июня 28, 2014

Perl. Получить в модуле полный путь до файла модуля

Возник давеча такой вопрос: надо было в модуле, в не зависимости от того, кто и откуда его запускает, получать текущий PATH данного модуля.
Инструменты типа FindBin и Cwd не работали, т.к. они показывали путь до скрипта, который использовал данный модуль. Недолгое гугление выдало вот такое решение:
use File::Spec;

my $mod_dir = (File::Spec->splitpath( __FILE__ ))[1];
Вызов
File::Spec->splitpath( __FILE__ )
возвращает массив, в котором первым аргументом является имя файла, а вторым как раз будет полный путь от "/" до модуля.

Комментариев нет: