我对perl感到茫然。我的任务是将脚本从Perl转换为PowerShell。因此,请您对自己的答案保持友善。
我了解了Perl @ARGV的命令行参数。我知道在执行Perl脚本时,任何传递的参数都将被Perl中的此特殊数组变量捕获。我们可以使用以下内容读取@ARGV并将其分配给标量变量

($var1,$var2) = @ARGV;


我需要了解以下声明在做什么

($var1,$var2,@ARGV) = @ARGV;


在我的perl脚本中,对于@ARGV中的值以及基于@ARGV值的If条件,将调用相应的子例程。

根据我的理解,如果我们在@ARGV中有两个以上的值,那么括号语句的左侧是更改ARGV的值/用于用剩余的值重写@ARGV吗?

请通过一个简单的例子帮助我理解这一点。

谢谢
拉维

最佳答案

它将@ARGV的前两个参数切掉,并将它们放在$ var1和$ var2中。

我个人将其写为:

$var1 = shift @ARGV;
$var2 = shift @ARGV;


但这是一个品味问题。

07-24 09:45
查看更多