【问题标题】:How to call one perl script in another perl script? [duplicate]如何在另一个 perl 脚本中调用一个 perl 脚本? [复制]
【发布时间】:2018-07-09 19:13:38
【问题描述】:

我想在主脚本中调用一个 perl 脚本并打印输出。我不知道该怎么做。请输入任何内容。

abcd.pl 是我的主脚本,有几个单独编写的小脚本我想在主脚本中调用它们并打印输出。

【问题讨论】:

  • 将其重构为一个模块,然后use它。

标签: perl


【解决方案1】:

文件1.pl:

print "i'm perl\n"

在文件2.pl

$t = `perl 1.pl`;
print $t;

并运行文件2.pl

perl 2.pl

输出是:

i'm perl

或者使用require

文件1.pl:

sub test{
        print "i'm perl\n";
}
1;

文件2.pl:

require '1.pl';
test();

输出:

i'm perl

【讨论】:

    【解决方案2】:

    如果你想从另一个脚本调用 subs,你可以使用 'require abcd.pl',

    或通过Exporter导出方法。

    要完全按照我认为您的要求进行操作,请使用反引号 ``(注意这些不是引号)。

    喜欢

    my $var = `abcd.pl`;
    

    否则,如果您需要更多控制权(也许通常是一个更好的主意),

    你可以

    use IPC::System::Simple;
    

    这里是CPAN link

    【讨论】:

    • 谢谢,我们可以在使用反引号时传递参数吗``例如:my $var = abcd.plARGV=[0]; abcd.pl 需要参数输入
    • 确实可以。我想您现在已经弄清楚了,因为它的工作原理与人们可能怀疑的完全一样:只需添加 args,就好像您在命令行中键入一样。
    猜你喜欢
    • 2012-03-10
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 2016-04-07
    相关资源
    最近更新 更多