#1 調(diào)用外部命令 調(diào)用命令的perl程序?yàn)樵撁畹母高M(jìn)程,繼承當(dāng)前perl的標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸出
3system ‘ls -al $HOME’; #不使用變量內(nèi)插
system “l(fā)s -al \$HOME”; #\$代表 $ 一個(gè)字符
system “l(fā)s -al $HOME”; #$HOME代表perl程序中的標(biāo)量$HOME;
#system退出狀態(tài)為0代表正常;
2unless (system ‘ls -al’) {print “cannot run shell\n”;}
!system ‘ls -al’ or die “cannnot run shell\n”;
#exec 操作符也能執(zhí)行外部命令,但是會(huì)結(jié)束當(dāng)前perl
#2查找環(huán)境變量
環(huán)境變量存儲(chǔ)在%ENV的哈希變量中 例子:
2my $path=$ENV{‘PATH’};
print $path;
#3使用文件句柄執(zhí)行外部進(jìn)程
2open DATE ,‘-|’,‘date’ or die “cannot pipe from date:$!”;
open MAIL, ‘|-’,‘mailmerlyn’ or die “cannot pipe to mail:$!”;
| 在右邊時(shí)表示該命令的輸出連接到文件句柄DATE中,在左邊表示命令的輸入從文件句柄MAIL中讀取
使用close關(guān)閉文件句柄時(shí)PERL會(huì)等待該進(jìn)程結(jié)束然后取得結(jié)束狀態(tài),結(jié)束狀態(tài)存于$?變量中,零表示成功,非零表示失??;使用system和反引號(hào)結(jié)束狀態(tài)也會(huì)被存于$?變量中。
如果PERL在讀取文件句柄時(shí),外部命令沒有數(shù)據(jù)輸出,那么PERL就會(huì)停止運(yùn)行等待數(shù)據(jù)輸出為止。
審核編輯:黃飛
-
PERL
+關(guān)注
關(guān)注
0文章
14瀏覽量
10402 -
進(jìn)程
+關(guān)注
關(guān)注
0文章
204瀏覽量
13973
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論