我試圖創建一個腳本/應用程序,它接受運行時的命令行參數。當然,這是一個日常的事情,但看到這是我第一次這樣做,我正在尋找一些指導。比方說,我的腳本可以利用這些類型的命令行參數:在Perl腳本中處理命令行參數的正確方法是什麼?
script -a -p /path/to/pipe -l mail.Error -m [email protected]
script -a -l mail.Error -m [email protected] -p /path/to/pipe
and so on....
由於命令行腳本的靈活特性,參數,你可以通過它可以將部分按照各種順序,並可能會丟失/有無效的參數。現在,我知道這可以是非常嚴格的參數必須如何顯示(第一-a
,然後-p
與路徑,然後-l
用日誌工具/優先級,最後-m
一個有效的電子郵件),並通過測試所有可能得到解決它們的發生。
但是,必須有一個更好的辦法。這是非常低效的(對我來說),我想知道是否有更好的做事方式。我希望儘可能保持靈活性,讓事情順利進行,而不是專注於嚴格的使用。
你也可以傳遞'GetOptions'作爲散列引用,它將存儲所有的信息到散列。例如,給定'GetOptions(\%選擇 「路徑= S」, 「日誌= S」)''傳遞-path/tmp'會給你'$ {選擇路徑} == 「/ tmp目錄」'。我發現從代碼中的命令行選項中獲取信息很方便。 –