运行时 perl -n
或 perl -p
, 每个命令行参数都被当作一个文件来逐行打开和处理。如果您想将命令行开关传递给该脚本,我该怎么做?
最佳答案
在不使用 STDIN 或外部存储的情况下,可以通过三种主要方式将信息传递给 Perl。
使用时
-n
或 -p
, 提取 BEGIN
中的参数堵塞。 perl -ne'BEGIN { ($x,$y)=splice(@ARGV,0,2) } f($x,$y)' -- "$x" "$y" ...
在完整的程序中,您将使用 Getopt::Long ,但是
perl -s
会在这里做得很好。 perl -sne'f($x,$y)' -- -x="$x" -y="$y" -- ...
X="$x" Y="$y" perl -ne'f($ENV{X},$ENV{Y})' -- ...
关于perl - 如何在 -n 或 -p 模式下使用 Perl 处理选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53524699/