如何在Linux下使用exec调用Perl ?

如何在Linux下使用exec调用Perl ?

如题。在命令行可以用  “perl  /root/perl/hello.pl”来跑这个perl程序,请问用C写个程序怎么通过exec函数调用Perl?

试了好久,没弄出来。
没有人帮忙么?谁指教一下。。除了system()怎么通过exec函数调用Perl?
一样的 exec("ls -l "); system 和 exec 的差别是,system返回结果,exec不返回
我用的是C 调用perl呀。。。不是perl 调用perl

system ("perl /root/perl/hello.pl");

可以运行的,类似的调用使用execlp()怎么写呀。。。
C/C++ code

execlp("perl", "perl", "/root/perl/hello.pl", 0);



C/C++ code

execl("/usr/bin/perl", "/usr/bin/perl", "/root/perl/hello.pl", 0);


问题已经解决了~~~谢谢~~
建议 chmod +x hello.pl 后直接 execl( "/path/to/hello.pl" ),
然后把 hello.pl 的 sharp-bang line 写成:
#!/bin/env perl
这样避免硬编码 perl 的路径,你可以少一些麻烦。


当然,不这么做的话,大多数情况下也不会有问题。