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

时间:2016-04-02 19:24:19

标签: perl stdin io-redirection

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

while(<>){
 print;
}

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

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

1 个答案:

答案 0 :(得分:1)

如果您只想阅读STDIN,那么您可以使用:

while(<STDIN>){

您实际使用的是:

while(<>){

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