免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2810 | 回复: 5
打印 上一主题 下一主题

如何在Linux下使用exec调用Perl ? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-07 10:30 |只看该作者 |倒序浏览
如题。在命令行可以用  “perl  /root/perl/hello.pl”来跑这个perl程序,请问用C写个程序怎么通过exec函数调用Perl?

试了好久,没弄出来。

论坛徽章:
0
2 [报告]
发表于 2008-03-07 12:42 |只看该作者
没有人帮忙么?谁指教一下。。除了system()怎么通过exec函数调用Perl?

论坛徽章:
0
3 [报告]
发表于 2008-03-07 12:51 |只看该作者
一样的 exec("ls -l "); system 和 exec 的差别是,system返回结果,exec不返回

论坛徽章:
0
4 [报告]
发表于 2008-03-07 13:07 |只看该作者
我用的是C 调用perl呀。。。不是perl 调用perl

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

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

论坛徽章:
0
5 [报告]
发表于 2008-03-07 13:54 |只看该作者
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);


问题已经解决了~~~谢谢~~

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2008-03-07 14:21 |只看该作者
建议 chmod +x hello.pl 后直接 execl( "/path/to/hello.pl" ),
然后把 hello.pl 的 sharp-bang line 写成:
#!/bin/env perl
这样避免硬编码 perl 的路径,你可以少一些麻烦。


当然,不这么做的话,大多数情况下也不会有问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP