Подтвердить что ты не робот

Как я могу разделить свой код Perl на несколько файлов?

Мои скрипты становятся слишком длинными. Как разбить мой код (процедурные субтитры) на несколько файлов Perl и рассказать интерпретатору, чтобы он их понял?

Вид вроде:

# -> main.pl

#include "foo.pl"
say_hello();

и

# -> foo.pl
sub say_hello {print "hello!"}
4b9b3361

Ответ 1

Что вы хотите сделать, это создать один или несколько модулей. Начните с просмотра perlmod, особенно в разделе Perl Modules.

Поскольку вы говорите, что вы пишете процедурный код, вам нужно будет экспортировать функции из ваших модулей. Традиционный способ сделать это - использовать Exporter (который поставляется с Perl), хотя Sub:: Exporter - это новый модуль CPAN, который позволяет создавать интересные вещи. (См. Также Sub:: Exporter:: Tutorial для введения в экспорт функций.)

Модули могут быть размещены в любой из каталогов, перечисленных в переменной @INC. Попробуйте perl -V, чтобы получить список. Вы также можете использовать lib для добавления каталогов во время выполнения. Один трюк заключается в том, чтобы использовать FindBin модуль, чтобы найти местоположение вашего script, а затем добавить каталог относительно этого:

use FindBin;                  # Suppose my script is /home/foo/bin/main.pl
use lib "$FindBin::Bin/lib";  # Add /home/foo/bin/lib to search path

Ваш образец кода, преобразованный в модуль:
В main.pl:

#! /usr/bin/perl
use strict;
use warnings;
use Foo;
say_hello();

В Foo.pm:

package Foo;

use strict;
use warnings;
use Exporter 'import';
our $VERSION = '1.00';
our @EXPORT  = qw(say_hello);

sub say_hello {print "hello!"}

Ответ 3

поместите его в ту же папку, что и ваш класс, и добавьте use ClassName в начало вызывающего файла.

Также проверьте учебник Perl OOP.