我使用Getopt :: Long來獲取我的perl腳本的命令行選項。我想向它傳遞一個可選參數,以便我可以在指定值時執行某些操作,如果調用該選項,則可以執行其他操作,但不會傳遞任何值。如何正確使用Getopt :: Long來分析可選參數?
該腳本會被調用是這樣的:
/root/perlscripts/pingm.pl --installdaemon
爲不指定參數,並且:
--installdaemon=7.7.7.7
指定一個可選的參數。
然後我會做到這一點:
Getopt::Long::Configure(qw(bundling no_getopt_compat));
GetOptions ('installdaemon:s' => \$daeminstall) or die ("Error in command line arguments\n");
下一步就是我懷疑。
如果我做的:
if ($daeminstall) {
print "I was called!\n";
$installdaemon=1;
}
然後,如果塊將永遠不會被調用如果腳本是用/root/perlscripts/pingm.pl --installdaemon
叫,因爲根據的perldoc,一個可選的參數將採取''
的字符串,如果沒有值指定。
那麼如何檢查是否指定了該選項而未傳遞值?
這一工程!謝謝! – Droidzone
沿着同樣的路線,如果將選項存儲在散列中,則可以檢查選項的「存在」。 – fenway