use Getopt::Long::Configure(pass_through);
# ....
GetOptions(
"display=s" => \$display,
"input=s", => \$input, # A strange comma right after "input=s",
);
有人可以为我解释上面的Perl代码吗? 第二个选项“input = s”,有一个奇怪的逗号。 这个逗号在这里有什么特别的含义吗?
非常感谢,
答案 0 :(得分:3)
不,这个逗号主要是错位的,完全没有意义。
但是,它不会影响代码,因为您传递的参数是作为哈希传递的,哈希基本上只是键值对列表。
胖子逗号(其他语言中的哈希火箭)=>
也可以被视为一个简单的逗号 - 它主要用于表示这样的键值对。
您也可以写下来:
GetOptions(
"display=s", \$display,
"input=s", \$input,
)
使用您的附加逗号后,它变为:
GetOptions(
"display=s", \$display,
"input=s", , \$input,
)
它根本不会改变列表,因为两个或多个逗号和/或火箭只是被perl视为一个逗号。
@a = (1, 2, 3, , , 6 => 7, 6);
print join(",", @a), "\n";
1,2,3,6,7,6
所以:它不会造成伤害,但由于它会引起混淆,我建议将其删除。