文件重定向 VS。命令行参数

File redirection VS. command line arguments

我有一个名为 sort.pl 的 perl 脚本,它从一些文件中获取 STDIN,如下所示:

while(<>){
 print;
}

我一直在想我需要传递一个像这样的重定向文件:./sort.pl < wordlist 但我注意到 ./sort.pl wordlist 也有效。

为什么会这样?在其他语言中,我通常必须在命令行参数和文件重定向之间指定。

如果您只想从 STDIN 读取数据,那么您可以使用:

while(<STDIN>){

你实际用过的是:

while(<>){

这意味着:从@ARGV 中列出的所有文件读取所有行,如果@ARGV 为空,则改为从 STDIN 读取。