Изменение поведения Perl в FindBin - PullRequest
1 голос
/ 12 июля 2011

У меня есть коллекция скриптов Perl, которые используют модуль FindBin.Есть некоторые файлы данных, которые используются скриптами, и ожидают найти их в $FindBin::Bin/../share/somedir/Я настраиваю установку так, чтобы эти файлы теперь были /some/other/share/dir/.Есть ли способ настроить поведение FindBin с помощью, например, переменной среды?

1 Ответ

2 голосов
/ 13 июля 2011

Я не думаю, что вы можете решить эту проблему с помощью модуля FindBin, потому что он предназначен для решения конкретной проблемы: найдите каталог исходного сценария Perl .Вы должны реализовать свой собственный модуль для получения параметров конфигурации.Это может выглядеть так:

package MyConfig;
use strict; use warnings;
use FindBin;

sub get_data_folder {
    return ($ENV{'DEV_ENVIROMENT'} ?  ## create this variable in your development
        $FindBin::Bin."/../share/somedir/" :
        "/some/other/share/dir/"
    );
}
1;

Это позволит вам контролировать все ваши пути конфигурации в одном месте.Но вам нужно изменить существующий код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...