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