测试perl -e
黄健  |  2017-04-09  |  科学网  |  551次阅读

短小的Perl代码可以直接在Shell命令行中直接执行。例如:
perl -e ' print "hello world\n" '
这个示例在Linux系统的bash中运行无碍。

但拿到Windows系统的CMD窗口的命令行里,却反馈:
Can't find string terminator "'" anywhere before EOF at -e line 1.
在这行EOF之前没找到字串结束符号"'"(单引号)?搞什么鬼。

原来,在CMD窗口命令行里得使用双引号把整个Perl代码引起来。改成:
perl -e "print 'hello world\n' "

工作了,但单引号里面的\n不能转义。改成:
perl -e "print "hello world\n" "

没输出hello world。改成:
perl -e "print "hello world\n" "
终于得偿所愿。

上述示例在Linux和Windows系统还有一点细微的不同:
Linux上必须\n才能换行;
Windows上\n可省略,有则多空一行。




文章原载于作者的科学网文章,所述内容属作者个人观点,不代表本平台立场。
本文经过系统重新排版,阅读原内容可点击 阅读原文