Perl調用其他程式方法

來源:互聯網
上載者:User

1. system(”command”);
使用該命令將開啟一個子進程執行引號中的命令,父進程將等待子進程結束並繼續執行下面的代碼。

2. exec(”command”);
效果同system命令類似,區別是不會開啟子進程,而是取代父進程,因此執行完引號中的命令後進程即結束。一般和fork配合使用。

3. `command`;
使用反引號調用外部命令能夠捕獲其標準輸出,並按行返回且每行結束處附帶一個斷行符號。反引號中的變數在編譯時間會被插入為其值。

4. open LIST “ls -l|”;
open MORE “|more”;
@list=;
print MORE @list;
close(LIST);
close(MORE);
使用帶管道的檔案控制代碼來執行外部命令,使用方式與讀寫檔案類似。可以從外部命令的輸出讀取資料,也可以將資料輸出到外部命令作為輸入。

5. defined(my $pid=fork) or die “Can not fork: $!\n”;
unless ($pid) {
exec (”date”);
}
waitpid ($pid,0);
使用fork將會開啟子進程與父進程同時執行之後的代碼,其中父進程中fork會返回一個非零的數,而子進程中將返回零。
上面的程式碼完成和system(”date”)相同的功能。比起system單純地調用外部命令,fork可以完成更加複雜的進程操作。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.