为什么下面的perl,linux可以识别,windows不能?
时间:10-02
整理:3721RD
点击:
请教为什么下面的perl,linux可以识别,windows不能?
system "perl -p -i -e 's/H_Resolution = \\d+ /H_Resolution = $hres /g' $file ";
can't find string terminator "" anywhere before EOF at -e line 1
system "perl -p -i -e 's/H_Resolution = \\d+ /H_Resolution = $hres /g' $file ";
can't find string terminator "" anywhere before EOF at -e line 1
你用的工具是?activeperl?
然后你打开的文件的编码方式是?LINUX下和WIN下的格式是有差异的,如果你用notepad之类的编辑工具打开可能会自动转换了。
最简单的,WIN下的文本在LINUX下用VIM打开,会看到每一行后面有^M,如果你的脚本调用的命令涉及到这块,可能会出错。
1.我用的是activeperl
2.我用vim打开,没有^M
3.perl -p -i -e 's/H_Resolution = \\d+ /H_Resolution = $hres /g' $file这个命令本身没有问题,但是如果,套用system,提示有语法错误。
请求指点,应该是双引号和单引号在activeperl下面的识别问题吧
不是你提到的^M的问题额
你win的system 有perl吗?
