Perl中的命令行参数变量@ARGV

时间:2015-09-30 10:50:28

标签: perl command arguments line argv

我对perl感到茫然。我有一个任务将脚本从Perl转换为PowerShell。所以请你善意回答你的问题。 我读到了Perl @ARGV的命令行参数。据我所知,在perl脚本执行时,传递的任何参数都将由Perl中的这个特殊数组变量捕获。我们可以阅读@ARGV并使用下面的

为标量变量赋值
($var1,$var2) = @ARGV;

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

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

在我的perl脚本中,我们对@ARGV中的值有条件并基于@ARGV值调用相应的子例程。

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

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

由于 拉维

1 个答案:

答案 0 :(得分:6)

它从@ARGV中删除前两个参数并将它们放在$ var1和$ var2中。

就我个人而言,我会把它写成:

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

但这是一个品味问题。