这段perl代码有什么作用?

hue*_*hue 3 perl

在下面显示的一段代码中,我理解"无","监视器"或"gdb"之一设置为调试,但我无法理解语法.我刚刚开始学习Perl.任何人都可以解释我这个语法是如何工作的?

GetOptions ("debug=s" => sub { set_debug ($_[1]) },
            "no-debug" => sub { set_debug ("none") },
            "monitor" => sub { set_debug ("monitor") },
            "gdb" => sub { set_debug ("gdb") }
           );
Run Code Online (Sandbox Code Playgroud)

谢谢.

Que*_*tin 7

首先,"debug = s"这是默认的赋值吗?

传递给GetOptions的哈希中的键使用的命名约定在GetOptions的文档中进行了解释.

二,使用"sub"关键字,我只想猜它用于调用set_debug函数?

不.它定义了一个子程序,并将其作为值传递给胖子逗号左侧的任何键.设置扩充时调用它(这也在GetOptions文档中定义).

然后最后如何比较和设置"no-debug","monitor"和"gdb".

当提供匹配的命令行参数时,执行子例程.