Perl 中的 system() 函式
您可以使用 system() Perl 函式來執行任何 Unix 指令,其輸出將轉到 perl 指令碼的輸出中。預設情況下,它是螢幕,即 STDOUT,但您可以使用重定向運算子 > − 將其重定向到任何檔案
#!/usr/bin/perl system( "ls -l") 1;
當執行以上程式碼時,它會列出當前目錄中提供的所有檔案和目錄 −
drwxr-xr-x 3 root root 4096 Sep 14 06:46 9-14 drwxr-xr-x 4 root root 4096 Sep 13 07:54 android -rw-r--r-- 1 root root 574 Sep 17 15:16 index.htm drwxr-xr-x 3 544 401 4096 Jul 6 16:49 MIME-Lite-3.01 -rw-r--r-- 1 root root 71 Sep 17 15:16 test.pl drwx------ 2 root root 4096 Sep 17 15:11 vAtrJdy
當您的指令包含諸如 $PATH 或 $HOME 的 shell 環境變數時,請小心。嘗試以下三種情況下 −
#!/usr/bin/perl
$PATH = "I am Perl Variable";
system('echo $PATH'); # Treats $PATH as shell variable
system("echo $PATH"); # Treats $PATH as Perl variable
system("echo \$PATH"); # Escaping $ works.
1;當執行上述程式碼時,它會根據 shell 變數 $PATH 中的設定產生以下結果。
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin I am Perl Variable /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP