Вы можете быть знакомы с тем, как Java или аналогичный язык находит пространство имен import com.example.AppName
, выполнив поиск файла com/example/AppName.java
в пути к классам.Когда вы спрашиваете Perl о use HTML::Template
, он также ищет HTML/Template.pm
в каталогах, перечисленных в @INC
.
Разница в том, что файл Perl может иметь несколько пакетов.Когда вы говорите use HTML::Template
, вы получаете все пакеты, перечисленные в HTML/Template.pm
(use
автоматически переводит ::
в правильный разделитель каталогов для вашей системы и добавляет .pm
).Если в этом файле есть пакет HTML::Template::Extension
, вы можете использовать этот пакет без явного указания use
.Уже загружен полный файл, и этого достаточно.
Если вы знаете точное имя файла относительно того, где вы будете запускать скрипт, самый простой способ получить его:
require 'path/to/file.pl';