活动perl切掉了“^&引用;来自@ARGV
以下代码仅适用于mac,但不适用于windows7活动perl切掉了“^&引用;来自@ARGV,perl,windows-7,argv,Perl,Windows 7,Argv,以下代码仅适用于mac,但不适用于windows7 perl -e "print @ARGV" aaa^bbb 在Mac(Perl5.10,darwin)上,它按预期输出:aaa^bbb 在Windows7,32位(ActivePerl5.12)上,它打印出:aaabbb “^”字符将从@ARGV中抛出。 这个字符是我使用脚本的文件名的一部分,所以我需要能够从@ARGV读取它 我尝试使用“aaa”^bbb,但它只是打印出“aaa\bbb”。不是ActivePerl丢弃^字符,而是Windows
perl -e "print @ARGV" aaa^bbb
在Mac(Perl5.10,darwin)上,它按预期输出:aaa^bbb
在Windows7,32位(ActivePerl5.12)上,它打印出:aaabbb
“^”字符将从@ARGV中抛出。
这个字符是我使用脚本的文件名的一部分,所以我需要能够从@ARGV读取它
我尝试使用“aaa”^bbb,但它只是打印出“aaa\bbb”。不是ActivePerl丢弃
^
字符,而是Windows命令提示符:
C:\>echo aaa^bbb
aaabbb
你需要引用论点:
C:\>perl -e "print @ARGV" "aaa^bbb"
aaa^bbb
或者,您也可以使用第二个插入符号来避开它:
C:\>perl -e "print @ARGV" aaa^^bbb
aaa^bbb
插入符号^
是一个转义字符,类似于Unix shell中的\
。它也不起作用。但是,您可以通过将参数转换为引号来绕过此问题:
perl -e "print @ARGV" "aaa^bbb"
在Windows7上使用草莓Perl,输出是
aaa^bbb