我正在编写一个简单的代码,它在命令行中接受一个参数并进行一些处理。我希望脚本能够#34; die"如果没有选项通过。
这是我的剧本,但似乎并没有#34; die"。有什么意见吗?
my $NETLIST;
GetOptions (
"netlist=s" => \$NETLIST
) or die ("ERROR: Netlist path must be specified.");
答案 0 :(得分:4)
默认情况下,Getopt::Long将其选项视为......可选。如果您未在命令行上提供GetOptions
,netlist
会很高兴。您需要做一些额外的工作来检查是否提供了该选项。这是一种方式。
use warnings;
use strict;
use Getopt::Long;
my $NETLIST;
GetOptions (
"netlist=s" => \$NETLIST
) or die ("ERROR: unsupported option.");
die("ERROR: Netlist path must be specified.") unless defined $NETLIST;