【发布时间】:2020-10-14 20:57:20
【问题描述】:
对不起,如果这是一个非常基本的问题,因为我对 Perl 还很陌生。
如何使用 I/O 重定向符号(> 和 <)将实现参数添加到 Perl 脚本中?
例如
./program.pl file.txt
这适用于在 Perl 脚本中使用 $ARGV[0]、$ARGV[1] 等,但我想使用这样传入的参数:
./program.pl < file.txt
【问题讨论】:
-
也许做个小总结会很有用——在命令行中传递的程序名称后面是参数,
@ARGV中的程序可以使用。但是,如果您使用 shell 的重定向<,那么程序的STDIN将来自文件名后面的行。那么你必须阅读<STDIN>。相反,最好使用“神奇的”<>阅读,如果打开它会读取STDIN(因此它将与prog.pl < file一起使用),或它会从所有提交的文件中读取行,所以它也适用于prog.pl file1 file2...。
标签: perl arguments parameter-passing