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

首頁 > 編程 > Perl > 正文

分享下perl膠水實現(xiàn)前后臺對接的方法

2020-10-31 15:19:21
字體:
供稿:網(wǎng)友

1. Perl“膠水”,能夠?qū)⒏鞣N應(yīng)用程序或者各種語言的代碼結(jié)合起來。
Perl可以編寫普通的腳本程序,還可以使用cgi模塊編寫Web應(yīng)用程序,同時可以使用DBI訪問各種數(shù)據(jù)庫。
除此之外,Perl可以將各種層次的應(yīng)用程序粘在一起,發(fā)揮更強大的功能。

2.
前臺是一個網(wǎng)站W(wǎng)eb應(yīng)用程序,底層或者是后臺是用C,C++或者Java編寫,使用Perl可以將兩者對接起來,實現(xiàn)更強大的功能,發(fā)揮各自的優(yōu)勢。
Perl實現(xiàn)該方法的途徑有兩個:
1) 直接在Perl腳本中嵌入別的語言編寫的代碼,這個可以使用Perl相關(guān)的模塊,比較簡單的是Inline,更能稍強但稍微復(fù)雜的是XS等。
2)另一種,是使用Perl的系統(tǒng)調(diào)用函數(shù)system:
如:
windows下

復(fù)制代碼 代碼如下:

use strict;
my $file="test.txt";
system("edit $file");
#調(diào)用dos的edit工具
system("dir");

等。

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

復(fù)制代碼 代碼如下:

use strict;
my @result=qx{dir};
my $eachline;
foreach $eachline (@result)
{
    print "$eachline  ";
}

還可以自己編寫exe,然后由perl的system函數(shù)(或者qx)來調(diào)用。
如,可以編寫一個,可給輸入?yún)?shù)的exe程序:
main.c

復(fù)制代碼 代碼如下:

#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函數(shù)的各個參數(shù)。

例子:
復(fù)制代碼 代碼如下:

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 县级市| 新郑市| 绥宁县| 中山市| 黔南| 横峰县| 西乌| 湖州市| 龙井市| 南丹县| 安化县| 惠安县| 固安县| 大化| 海丰县| 五大连池市| 富锦市| 苏尼特左旗| 南京市| 皮山县| 隆子县| 远安县| 扶余县| 城步| 同心县| 昌邑市| 西贡区| 潼南县| 竹北市| 常宁市| 玉溪市| 大港区| 高淳县| 顺平县| 确山县| 安远县| 原平市| 精河县| 嘉定区| 来安县| 于田县|