我正在尝试在我的 Perl 脚本中使用Getopt::Std从命令行收集值。
use Getopt::Std;
$Getopt::Std::STANDARD_HELP_VERSION = 1;
getopts('i:o:p:');
my $inputfile = our $opt_i;
my $outputfile = our $opt_o;
my $parameter_value = our $opt_p;
这里前两个变量 ($inputfile,$outputfile) 是必需的,但最后一个变量 ($parameter_value) 是可选的,可以忽略。
-p
当在命令行忽略标志时,我试图默认为最后一个变量($parameter_value)设置一些值。
我尝试使用这个:
my $parameter_value = our $opt_p || "20";
当在命令行中忽略 -p 标志时,它会传递正确的值。但问题是当我从命令行提供一些值(例如 -p 58)时,相同的值 20 被传递给程序,而不是我从命令行传递的 58。
你能帮我指出我在这里犯的错误吗?
谢谢你。