设为首页 收藏本站
查看: 1071|回复: 0

[经验分享] Perl语言的胶水作用_实现前后台对接

[复制链接]

尚未签到

发表于 2017-5-19 08:29:57 | 显示全部楼层 |阅读模式
1. Perl除了具备强大的字符串处理功能之外,还有“胶水”作用,Perl能够将各种应用程序或者各种语言的代码结合起来。
Perl可以编写普通的脚本程序,还可以使用cgi模块编写Web应用程序,同时可以使用DBI访问各种数据库。除此之外,Perl可以将各种层次的应用程序粘在一起,发挥更强大的功能。

2.
前台是一个网站Web应用程序,底层或者是后台是用C,C++或者Java编写,使用Perl可以将两者对接起来,实现更强大的功能,发挥各自的优势。
Perl实现该方法的途径有两个:
1) 直接在Perl脚本中嵌入别的语言编写的代码,这个可以使用Perl相关的模块,比较简单的是Inline,更能稍强但稍微复杂的是XS等。
2)
另一种,是使用Perl的系统调用函数system:
如:
windows下
DSC0000.gif usestrict;
my$file="test.txt";
system("edit$file");
#调用dos的edit工具
system("dir");


等。
另一种写法为:
qx{dir};
捕获返回的结果,可以将结果赋予标量或者一个列表数组,标量的话获取结果字符的最后一样;数组的话,每个元素对应结果的每一行。
如:
usestrict;
my@result=qx{dir};
my$eachline;
foreach$eachline(@result)
{
print"$eachline ";
}



还可以自己编写exe,然后由perl的system函数(或者qx)来调用。
如,可以编写一个,可给输入参数的exe程序:
main.c

#include<stdio.h>
#include
<stdlib.h>
intmain(intargc,char**argv)
//intmain(intargc,char*argv[])
DSC0001.gif DSC0002.gif
...{
DSC0003.gif
inti;
for(i=0;i<argc;i++)
DSC0004.gif DSC0005.gif
...{
printf(
"%dargis%s ",i,argv);
DSC0006.gif }


return0;

DSC0007.gif }



//该程序的主要功能是打印出传递给main函数的各个参数。

例子:
usestrict;
my@result=qx{main.exehelloiamhere};
my$eachline;
foreach$eachline(@result)
{
print"$eachline ";
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-378914-1-1.html 上篇帖子: 一个perl多进程的简单程序框架 下篇帖子: 功能丰富的 Perl: 使用 Perl 自动化 UNIX 系统管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表