国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 曲水县| 大姚县| 天水市| 聂拉木县| 高阳县| 大同市| 大关县| 辽源市| 阳原县| 商丘市| 资阳市| 中西区| 瑞安市| 图们市| 万年县| 巩义市| 石狮市| 芦溪县| 光泽县| 玉溪市| 随州市| 天台县| 博白县| 阳信县| 乌兰县| 海宁市| 虞城县| 昭平县| 和田市| 天津市| 南平市| 丹棱县| 民和| 怀安县| 镇巴县| 延川县| 禹城市| 乐山市| 清苑县| 石泉县| 绥宁县|