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)
waitpid ($pid,0);
使用fork將會開啟子程序與父程序同時執行之後的**,其中父程序中fork會返回乙個非零的數,而子程序中將返回零。
上面的**完成和system(」date」)相同的功能。比起system單純地呼叫外部命令,fork可以完成更加複雜的程序操作。
Perl呼叫shell命令方法小結
一 system perl也可以用system呼叫shell的命令,它和awk的system一樣,返回值也是它呼叫的命令的退出狀態.複製 如下 root ax3sp2 cat aa.pl usr bin perl w file wt.pl system ls l wt.pl result syste...
Perl呼叫shell命令方法小結
一 system perl也可以用system呼叫shell的命令,它和awk的system一樣,返回值也是它呼叫的命令的退出狀態.複製 如下 root ax3sp2 cat aa.pl usr bin perl w file wt.pl system ls l wt.pl result syste...
env中呼叫python或perl
在對sdctrl進行驗證中,由於sdctrl可以支援到所有ddr2 ddr3的種類顆粒,而每乙個顆粒都會提供乙份catalog,其中包含了所有ac timing的配置。而sdctrl也必須對控制暫存器進行合理的配置才能正常的工作。這就出現了乙個問題 我必須先拿到ddr catalog的內容,才能隨機...