国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Perl > 正文

分享下perl膠水實現前后臺對接的方法

2020-06-04 20:28:30
字體:
來源:轉載
供稿:網友

1. Perl“膠水”,能夠將各種應用程序或者各種語言的代碼結合起來。
Perl可以編寫普通的腳本程序,還可以使用cgi模塊編寫Web應用程序,同時可以使用DBI訪問各種數據庫。
除此之外,Perl可以將各種層次的應用程序粘在一起,發揮更強大的功能。

2.
前臺是一個網站Web應用程序,底層或者是后臺是用C,C++或者Java編寫,使用Perl可以將兩者對接起來,實現更強大的功能,發揮各自的優勢。
Perl實現該方法的途徑有兩個:
1) 直接在Perl腳本中嵌入別的語言編寫的代碼,這個可以使用Perl相關的模塊,比較簡單的是Inline,更能稍強但稍微復雜的是XS等。
2)另一種,是使用Perl的系統調用函數system:
如:
windows下
代碼如下:
use strict;
my $file="test.txt";
system("edit $file");
#調用dos的edit工具
system("dir");

等。

另一種寫法:
qx{dir};
捕獲返回的結果,可以將結果賦予標量或者一個列表數組,標量的話獲取結果字符的最后一樣;數組的話,每個元素對應結果的每一行。
如:

代碼如下:
use strict;
my @result=qx{dir};
my $eachline;
foreach $eachline (@result)
{
    print "$eachline  ";
}

還可以自己編寫exe,然后由perl的system函數(或者qx)來調用。
如,可以編寫一個,可給輸入參數的exe程序:
main.c
代碼如下:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
//int main(int argc, char *argv[])
{
    int i;
    for(i=0; i<argc; i++)
    {
            printf("%d arg is %s  ",i,argv[i]);
    }
    return 0;
}
//該程序的主要功能是打印出傳遞給main函數的各個參數。

例子:
代碼如下:
#!/usr/bin/perl
use strict;
my @result=qx{main.exe hello iam here};
my $eachline;
foreach $eachline (@result)
{
    print "$eachline ";
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磴口县| 铜梁县| 贺州市| 隆化县| 吉水县| 黄陵县| 涟水县| 汉中市| 静宁县| 大厂| 翁牛特旗| 昭苏县| 麦盖提县| 三穗县| 岑巩县| 武义县| 涡阳县| 繁峙县| 漾濞| 咸宁市| 五台县| 梁平县| 清苑县| 韩城市| 嫩江县| 滨州市| 儋州市| 田阳县| 福安市| 通化市| 蛟河市| 乌拉特中旗| 丰镇市| 崇信县| 胶州市| 卓尼县| 贵德县| 云南省| 房山区| 永州市| 崇州市|