Perl GetOptions 或无法按预期工作

PS1*_*S12 2 perl

我正在编写一个简单的代码,它在命令行中接收参数并进行一些处理。如果没有通过任何选项,我希望脚本“死亡”。

这是我的脚本,但它似乎并没有“死”。任何意见?

my $NETLIST;
GetOptions (
    "netlist=s" => \$NETLIST
) or die ("ERROR: Netlist path must be specified.");
Run Code Online (Sandbox Code Playgroud)

too*_*lic 5

默认情况下,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;
Run Code Online (Sandbox Code Playgroud)