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 ";
}