Относительный путь внутри модуля

У меня есть этот модуль, который нуждается в конкретном файле для работы. Вы можете передать путь к файлу, который вы хотите использовать или нет. Если вы этого не сделаете, то будет взят файл по умолчанию. Этот файл по умолчанию находится в папке ресурсов, поэтому я набрал путь: "resources/data/type-graph.txt". Проблема в том, что не работает, потому что он принимает мой CWD в качестве корневого каталога.

Вы знаете, как сделать путь относительно модуля dir?

Любое предложение приветствуется:).

1 ответ

Решение

Вы должны взглянуть на страницу документации Модули. Там приведен этот пример для доступа к файлу, расположенному в папке ресурсов:

my $template-text = %?RESOURCES<templates/default-template.mustache>.slurp;

Вам также нужно перечислить файл в META6.json поэтому файл будет доступен после установки модуля.

{
    ...,
    "resources": [ "templates/default-template.mustache"]
}

Как отметил Гайфа в комментарии %?RESOURCES работает с отдельными файлами, а не со структурами каталогов. Он не дает никаких гарантий того, как файлы хранятся на самом деле. Так %?RESOURCES<templates>.dir не будет работать.

Другие вопросы по тегам