gpt4 book ai didi

perl - 如何将我的 Perl 代码拆分到多个文件中?

转载 作者:行者123 更新时间:2023-12-03 23:29:02 25 4
gpt4 key购买 nike

我的脚本太长了。如何将我的代码(程序性子程序)拆分为多个 Perl 文件并告诉解释器理解它们?

有一些像:

# -> main.pl

#include "foo.pl"
say_hello();

和:
# -> foo.pl
sub say_hello {print "hello!"}

最佳答案

您要做的是创建一个或多个模块。从查看 perlmod 开始,尤其是 Perl Modules section .
由于您说您正在编写程序代码,因此您需要从模块中导出函数。执行此操作的传统方法是使用 Exporter (Perl 附带),虽然 Sub::Exporter是一个较新的 CPAN 模块,它允许一些不错的东西。 (有关导出函数的介绍,另见其 Sub::Exporter::Tutorial。)
模块可以放置在@INC 中列出的任何目录中。多变的。试试 perl -V得到一份 list 。您也可以使用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.pm 中:
package Foo;

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

sub say_hello {print "hello!"}

1; # A module must end with a true value or "use" will report an error

关于perl - 如何将我的 Perl 代码拆分到多个文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4363913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com