像其他Perl函数和运算符一样,“菱形”运算符单独使用时,会表现“特别的行为”。当菱形运算符中没有声明任何文件句柄时,亦即<>,Perl就从一个称为@ARGV的特殊变量中获取文件名。这个数组变量存储所有的命令行参数,也就是在运行时提供给程序的字串。 比如当我们键入:
perl fig10_08.pl in.txt
传递给程序的命令参数就是出现在程序名后面的数据项(或数据项列表)。在上述的命令行中in.txt是唯一的命令行参数的文件名。现在该文件名存储在@ARGV变量中。实际上,菱形运算符将出力数组@ARGV中的每个文件名。如果不提供任何命令行参数,也就是@ARGV为空,<>将从标准输入STDIN中读取数据。
例如:
#!usr/bin/perl
# Fig. 10.8: fig10_08.pl
# Using the diamond operator with @ARGV
use strict;
use warnings;
print while ( <> );
阅读(1629) | 评论(0) | 转发(0) |