2012-03-04 4 views
0

I имеет следующую структуру файла:модуля импорт Perl из другой директории

|_controllers 
| |___FooController.pm 
|_models 
| |___Foo.pm 
|_utils 
| |___BarUtils.pm 
|_foobar.do 

Я хочу знать, как я могу импортировать модули между файлами, скажем, что я хочу использовать Foo.pm на FooControllers.pm или используйте BarUtils.pm на foobar.do. Когда у меня есть файлы в тех же каталогах, я просто делаю

использовать Foo;

Но в этом случае я не могу понять, как это сделать.

ответ

5

Вы должны убедиться, что:

  • Родительский каталог (тот, который содержит controllers и т.д ..) в @INC

  • Модули затем будут названы:

    use controllers::FooController; 
    use models::Foo; 
    

Точное обоснование того, как и почему это работает (А также @INC детали) можно найти на SO:

+0

Спасибо, я также обнаружил, что требуется './utils/Connection.pm'; работает, но вам нужно будет установить все маршруты вручную, поэтому лучше добавить путь к% INC – JohnnyAce

Смежные вопросы