我有一个名为sort.pl
的perl脚本,它从某个文件中获取STDIN,如下所示:
while(<>){
print;
}
我一直在想我需要传递一个带有重定向的文件:./sort.pl < wordlist
但是我注意到./sort.pl wordlist
也有效。
为什么会这样?在其他语言中,我通常必须在命令行参数和文件重定向之间进行指定。
答案 0 :(得分:1)
如果您只想阅读STDIN,那么您可以使用:
while(<STDIN>){
您实际使用的是:
while(<>){
这意味着:如果@ARGV为空,请从@ARGV 或中列出的所有文件中读取所有行,而不是从STDIN读取。