【发布时间】:2013-04-20 13:37:30
【问题描述】:
我有一个需要从 Windows 批处理文件调用的 perl 脚本。批处理文件脚本读取文本文件并将参数传递给 perl 脚本。现在参数之一是“用户输入”。现在,如果我在文本文件中给出双引号,则会出现以下错误Could not open : No such file or directory at perl_script.pl at Line 10
代码是(回显输入并在命令提示符下显示为用户输入)echo %INPUT%
perl perl_script.pl %INPUT%
现在,如果我给出单引号,那么 perl_script 只会获取用户(输入被截断)
请建议处理此问题的最佳方法
【问题讨论】:
-
在 perl 脚本中,您可以改进错误消息以告诉您 Perl 认为文件名是什么:
open ... or die qq(Could not open "$filename: $!")。您还可以转储所有命令行参数,例如say "[$_]" for @ARGV,将每个参数括在括号中。 -
请贴出批处理脚本和perl程序。否则很难说出发生了什么。
标签: perl batch-file