ARGV、$ARGV、$ARG、@ARGV四者的关系及区别???

ARGV、$ARGV、$ARG、@ARGV四者的关系及区别???

请帮忙解释一下它们之间的关系及区别,谢谢!
@ARGV是传递的脚本的命令行参数。

哦。。。搞不懂。。查查。。

ARGV [ALL] 特殊的文件句柄,它遍历在 @ARGV 里的所有命令行文件名。通常写成尖角操作符 里的空文件句柄:<>。

$ARGV [ALL] 当使用 <> 或者 readline 操作符从 ARGV 句柄里读取数据的时候,包含当前 文件名。

Perl语言学习(第三版中文版):第二十八章:特殊名字,里边的内容。
我就是不理解这些关系,所以才问的。。。。。。
好拗口啊。。。

QUOTE:
ARGV

    [ALL] The special filehandle that iterates over command-line filenames in @ARGV. Usually written as the null filehandle in the angle operator: <>.
$ARGV

    [ALL] Contains the name of the current file when reading from the ARGV handle using the <> or readline operators.
@ARGV

    [ALL] The array containing the command-line arguments intended for the script. Note that $#ARGV is generally the number of arguments minus one, since $ARGV[0] is the first argument, not the command name; use scalar @ARGV for the number of program arguments. See $0 for the program name.

$ARGV跟ARGV都是跟<>钻石操作符有关系的

@ARGV保存了命令行的所有参数


比如 test.pl  1.txt 2.txt

@ARGV  为(1.txt, 2.txt)

程序里如果写
while (<>) {
      print "from file $ARGV  get line:" , $_, "\n";
}

将依次读入1.txt, 2.txt, 并依次读入每一行。 $ARGV表示当前正在读取的文件名, ARGV表示当前正在读取的文件句柄。