perl的調用方式很好幾種,最常見的有兩種。
舉例如下;
1。my
$t1
=
`ps
-ef`;
print
$t1;
#這里會得到命令執行的結果,即進程信息
2。my
$ttt2
=
system("ps
-ef");
print
$t2;
#這里會得到命令執行是否成功的結果,成功會得到1
你用的是第二種方式調用,得到的是命令執行返回碼,不是你想要的進程id
『貳』 perl: 如下命令
用雙引號:
perl -p -i.bak -w -e "s/a/b/g" fred.pl
---------------------------
C:\Documents and Settings\t>perl -p -e "" fred.pl
abc
C:\Documents and Settings\t>perl -p -i.bak -w -e 's/a/b/g' fred.pl
Useless use of a constant in void context at -e line 1.
C:\Documents and Settings\t>del fred.pl.bak
C:\Documents and Settings\t>perl -p -i.bak -w -e "s/a/b/g" fred.pl
C:\Documents and Settings\t>perl -p -e "" fred.pl
bbc
『叄』 perl中如何執行多條shell命令
一、system
perl也可以用system調用shell的命令,它和awk的system一樣,返回值也是它調用的命令的退出狀態.
二、反引號
perl的system函數和awk的一樣不能夠返回命令的輸出.
要得到命令的輸出,就得使用和shell本身一樣的命令: ` `
三、exec
最後,perl還可以使用exec來調用shell的命令. exec和system差不多,不同之處在於,調用exec之後,perl馬上就退出,而不會去繼續執行剩下的代碼
『肆』 為什麼perl腳本必須要加perl命令才能運行
加perl命令是為了讓該程序以perl環境運行。在windows下,如果你把.pl為後綴的默認打開方式為perl,就可以雙擊打開啦,不用輸入perl+程序名
『伍』 linux下怎麼運行perl程序
1、perl解釋器基本在所有的linux平台上都是自帶的,用戶可以通過如下命令判斷是否有perl解釋器:
which perl
2、如果自己的linux系統上沒有perl解釋器,可以去其官網下載安裝。
3、在具備perl解釋器的情況下,可以參考如下運行步驟:
1)、用vim編寫test.pl,代碼如下:
#!/usr/local/bin/perl
print "HellonWorld!
";
2、編寫完成後,直接執行如下命令即可:
perl test.perl
3、有時候需要一些許可權,自己可以通過su、sudo等命令提示許可權。
『陸』 perl腳本中怎麼樣執行linux命令
Linux下perl文件的執行
#! /usr/bin/perl
第一個「#」表示是這一行是注釋
第二個「!」表示這一行不是普通注釋,而是解釋器路徑的聲明行
後面的「/usr/bin/perl」是perl解釋器的安裝路徑,也有可能是:「/usr/local/bin/perl」,如果那個不行,就換這個。
這樣修改後,文件就是這個模樣:
#!/usr/bin/perl
#test.pl
print "test message! \n";
然後,給文件加上可執行的屬性:
$ chmod 755 test.pl 或者 $ chmod +x test.pl
這兩個命令用哪一個都可以。
現在執行吧: $ ./test.pl
『柒』 Perl執行shell命令的幾種方式及其區別
有兩種方法:
1、命令行輸入perldoc perllocal |grep DBI -i
2、
#!/usr/bin/perl
usestrict;
useExtUtils::Installed;
my$inst=ExtUtils::Installed->new();
my@moles=$inst->moles();
foreach(@moles){
my$ver=$inst->version($_)||"???";
printf("%-22s-Version-%-22s ",$_,$ver);
}
exit;
『捌』 如何用Perl實現命令行交互
如果只是執行perl腳本的話交互用STDIN來讀取就可以了,調用外部命令的交互可以用管道或者IPC
『玖』 perl怎麼得到命令行的輸出
試了幾個命令都應該沒有問題,你先試試這個命令有沒有任何輸出 再試試直接 perl中 print `gunzip -c /home/file | dd of=/dev/sdb obs=1M` 如果命令有輸出,但是你的編程方式和上面的單語句都沒有輸出,就太詭異了。
『拾』 perl system 輸入命令
假設你在命令行下面執行的方式是:a.exe 1 2 3 4
然後回車。就執行a.exe
那麼你perl裡面調用的時候直接
`a.exe 1 2 3 4`;
注意 ` 這個符號是英文輸入狀態下,鍵盤上方1按鍵旁邊那個符號。半形的。