windows上的perl初学者-在windows命令提示符下执行perl-n-e时出现问题

windows上的perl初学者-在windows命令提示符下执行perl-n-e时出现问题,windows,perl,strawberry-perl,Windows,Perl,Strawberry Perl,我使用W7 64位,我刚刚安装了草莓perl。我需要从windows命令行执行一个简单的脚本来操作文本文件: perl -ne 'chomp; print "$_ O O O O\n"' test.txt > textformatted.txt 我得到一个错误: Can't find string terminator "'" anywhere before EOF at -e line 1. 它在路径中,我也可以调用perl-v。我尝试添加空格,用“替换”,反斜杠等,但没有用 我看了

我使用W7 64位,我刚刚安装了草莓perl。我需要从windows命令行执行一个简单的脚本来操作文本文件:

perl -ne 'chomp; print "$_ O O O O\n"' test.txt > textformatted.txt
我得到一个错误:

Can't find string terminator "'" anywhere before EOF at -e line 1.
它在
路径中,我也可以调用
perl-v
。我尝试添加空格,用
替换
,反斜杠等,但没有用

我看了教程,在网上搜索,发现了很多这样的说法,所以这句话似乎应该行得通,但事实并非如此


谁能帮我一下吗?哪里错了?

你需要把单引号改成双引号

perl -ne "chomp; print qq($_ O O O O\n)" test.txt > textformatted.txt

谢谢!所以我可以总是把qq()放在应该加引号的东西上?是的。因为shell(即cmd.exe)使用双引号进行引用,所以在OneLiner中需要双引号字符串变量插值时,您需要使用qq(…)或heredoc。