如何在PERL中执行.pl文件时处理缺少的参数?

时间:2012-02-16 10:19:21

标签: perl

我有.pl文件,我必须使用2个参数执行.pl文件。如果用户没有输入这两个参数,如何处理错误而不传递这两个参数?

3 个答案:

答案 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]