一个Hello World程序中出现了未识别的字符\xE2。

4

我正在尝试在Mac OS X Yosemite上编写我的第一个Perl“hello world”程序,但当我尝试在终端中运行时,它显示以下错误:

Unrecognized character \xE2; marked by <-- HERE after
print <-- HERE
near   column 7 at test.pl line 4.

我无法找出这个程序的问题。请在这里帮助我。

代码:

#!/usr/bin/perl
use strict;
use warnings;
print “Hello world”;

很抱歉,由于该网站不允许我上传所见图片,我无法提供帮助。我会尽力向您解释。 - nishanth chava
#!/usr/bin/perl 使用严格; 使用警告; 打印“你好,世界”; - nishanth chava
错误提示:在test.pl文件的第4行,print <-- HERE附近的第7列后面标记为 <-- HERE 的未识别字符 \xE2。 - nishanth chava
我已经编辑了我的问题,包括代码和错误信息。 - nishanth chava
1
请确保使用纯文本编辑器或集成开发环境(IDE)编写代码。文本处理软件往往会在标点符号上玩花招。 - Mat
会尝试做到的。谢谢。 - nishanth chava
3个回答

9

将print语句中的

“”
字符更改为
"
示例

print "Hello world";  

1
具体来说:Perl(像大多数其他编程语言一样)只接受直引号"。您上面的代码使用逗号引号(... ),可能是因为在打开“智能引号”的Microsoft Word中输入的。 - Mark Reed
谢谢,现在它可以工作了,但之前为什么不能工作呢?还有,我如何输入这些非花括号的双引号? - nishanth chava
3
通常情况下,您只需按下键盘上相应的键。如果您使用的是专为文字处理而非软件开发设计的编辑器,则可能会自动用更漂亮的引号替换 "。在 MS Word 中,输入 " 后立即按撤销键(Ctrl-Z)即可撤消 "升级"。 - ikegami

1

请确保像这样的语法符号 ' 是正确的。检查您的 Perl 文件是否存在语法错误

perl -c testfile.pl


0

虽然这与此案件没有直接关联,但当出现 \xE2 错误时,也可能会出现不明显的另一种情况。字符串中也可能存在零宽空格,这也可能引起此错误。

我在记事本或记事本++中看不到此字符,但我可以在 Vim 中看到它,如<200b>。当从例如 Microsoft Teams 复制内容时,此字符可放在 {} 字符旁边。

当搜索此类问题时,此链接将显示为第一个链接,因此我想在此处发布解决方案可能是个好主意。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接