【发布时间】:2014-02-10 16:59:31
【问题描述】:
我有两个 perl 脚本需要一起运行。
第一个脚本定义了一些常用函数和一个 main 方法。
脚本 1(one.pl) 示例:
#!/usr/bin/perl
sub getInformation
{
my $serverMode = $_[0];
my $port = $_[1];
return "You\nneed\nto\nparse\nme\nright\nnow\n!\n";
}
#main
&parseInformation(&getInformation($ARGV[0], $ARGV[1]));
第二个是定义两个函数后调用第二个脚本的脚本。
脚本 2(two.pl) 示例:
#!/usr/bin/perl
sub parseInformation
{
my $parsedInformation = $_[0];
#omitted
print "$parsedInformation";
}
my $parameterOne = $ARGV[0];
my $parameterTwo = $ARGV[1];
do "./one.pl $parameterOne $parameterTwo";
命令行用法:
> ./two.pl bayside 20
我已尝试执行此操作,但脚本似乎可以运行,但每当我在 perl -d two.pl 模式下运行脚本时,我都无法从调试器中获得有关其他脚本的任何信息。
我做了一些研究并阅读了有关system、capture、require 和do 的信息。如果使用系统函数运行脚本,如何导出脚本二中定义的函数?
问题:
1. 有没有办法在 perl 中做到这一点?
2. 如果是这样,我究竟需要如何实现?
我完全理解 perl 就是 perl。不是另一种编程语言。不幸的是,在过渡时,往往会带来他们所知道的东西。我很抱歉。
参考:
How to run a per script from within a perl script
Perl documentation for require function
【问题讨论】:
标签: perl dependencies