我有.pl文件,我必须使用2个参数执行.pl文件。如果用户没有输入这两个参数,如何处理错误而不传递这两个参数?
答案 0 :(得分:6)
die "Usage: $0 <first> <second>\n" unless @ARGV == 2;
my ($first, $second) = @ARGV;
(注意\n
:我阻止perl追加“在线nnn”)
也就是说,我总是尝试在我的脚本中为缺少的参数提供一些理智的默认值(例如,没有给出输出文件=&gt;打印到STDOUT等)。
你也应该看看Getopt::Long。
答案 1 :(得分:0)
但是你喜欢。传统是使用默认值或退出时出现错误状态(即不是0),同时将应用程序指令的invokation部分的摘要打印到STDERR。
答案 2 :(得分:0)
if($#ARGV == -1) { print "No arguments are passsed" }
if($#ARGV == 0) {print "SINGLE argument" }
在Perl中,你有一个特殊的数组@ARGV
,它包含所有传递的参数。要访问它们,您可以使用ARGV[0]
..... ARGV[n]