仅使用普通数组和特殊数组(命令行参数)有什么区别?
普通数组:@num(1,2,3,4)
,并且可以使用$num[0]
等
特殊数组:你必须使用@ARGV
、 和$ARGV[0]
等。它类似于 吗while (<>)
?
@ARGV
使用而不是普通数组的全部目的是什么?
答案1
该@ARGV
数组并不特殊,它是一个碰巧预定义的普通数组。它只是一个全局变量,包含程序启动时的命令行参数。您可以使用它来访问命令行参数。
还有一个ARGV
文件句柄和一个$ARGV
标量。标$ARGV
量是正常的,但在读取时会自动设置为当前文件名ARGV
。标ARGV
量很特殊:<ARGV>
或其同义词<>
,自动将 的每个元素@ARGV
视为文件名,并打开文件并按顺序读取每个文件。