+ -
当前位置:首页 → 问答吧 → 求教一个在perl中调用另一个perl的问题

求教一个在perl中调用另一个perl的问题

时间:2011-07-21

来源:互联网

1. test.pl

print "test.pl\n";

do 'as.pl --length 100' or die $!;

2. as.pl

use Getopt::Long;

GetOptions ("length=i" => \$length);

print "as.pl --length $length\n";

在执行 test.pl时,执行到do后as.pl没有被成功调用,$! = No such file or directory at E:\test\test.pl line 19.
如果调do 'as.pl'就没有问题,好像通过do调用另一个perl脚本不能加参数,是这样吗? 

我现在有test.pl和as.pl两个脚本,在test.pl中调用执行as.pl, 然后通过activestate perl dev kit那个工具想把它们打包成一个exe,这时在test.pl中调用执行as.pl该怎么写?

谢谢

作者: Casper1314   发布时间: 2011-07-21

do EXPR
1,计算EXPR的值V
2,尝试去找文件名为V的文件
3,把这个文件当作perl脚本来执行
根本不是把后面的string当作命令来执行。所以你没有加参数的时候就调用成功,加了参数之后,就变成找不到文件了。
http://perldoc.perl.org/functions/do.html

你应该可以用system语句来调用。

作者: longhuahuang   发布时间: 2011-07-22