Если вы хотите создать модуль отдельным файлом и использовать как библиотеку подпрограмм, при этом вызывать подпрограммы библиотеки, не указывая имени модуля, вам необходимо оформить модуль следующим образом:

	package имя_модуля;	# Такое же как и имя этого
	файла без расширения '.pm'
	require Exporter;	# Обязательная строка 
	для экспорта имен
	@ISA = qw(Exporter);	# -//-
	@EXPORT = qw(func1 func2) # Перечисляем
	 имена функций. Внимание ! нет запятой!
	@EXPORT_OK = qw( $переменная @массив ); 
	# Указать публичные переменные, массивы и т.д.
	 если необходимо
	{  # Начало блока модуля
	..... 
	sub func1
	........
	sub func2
	........
	1;
	}

Данный файл с расширением ".pm" должен храниться в одной из библиотечных директорий Perl. Они перечислены в массиве @INC, одна из них обычно "/usr/local/lib/perl/".

В головной программе вы указываете:

  • use имя_модуля;
и вам становятся доступны имена подпрограмм данного модуля.