Как я могу разделить код Perl на несколько файлов?
мои сценарии становятся слишком длинными. Как разбить мой код (процедурные подразделы) на несколько файлов Perl и сказать интерпретатору, чтобы понять их?
вроде как:
# -> main.pl
#include "foo.pl"
say_hello();
и:
# -> foo.pl
sub say_hello {print "hello!"}
3 ответов
что вы хотите сделать, это создать один или несколько модулей. Начните с просмотра perlmod, особенно Perl модули в разделе.
поскольку вы говорите, что пишете процедурный код, вы захотите экспортировать функции из своих модулей. Традиционный способ сделать это-использовать экспортер (который поставляется с Perl), хотя Sub:: Экспортер это новый модуль CPAN, который позволяет некоторые приятные вещи. (См. также Sub::Экспортер:: Учебник для введения в функции экспорта.)
модули могут быть размещены в любом из каталогов, перечисленных в @INC
переменной. Попробуй!--4--> чтобы получить список. Вы также можете использовать lib для добавления каталогов во время выполнения. Один трюк-использовать FindBin модуль, чтобы найти местоположение вашего сценария, а затем добавить в каталог, что:
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.ПМ:
package Foo;
use strict;
use warnings;
use Exporter 'import';
our $VERSION = '1.00';
our @EXPORT = qw(say_hello);
sub say_hello {print "hello!"}
Я думаю, что вы можете искать do
? http://perldoc.perl.org/functions/do.html
поместите его в ту же папку, что и ваш класс, и добавьте use ClassName
в верхней части вызывающего файла.
проверьте на Perl, ООП учебник.