【问题标题】:"Unrecognized character \xE2" in a Hello World programHello World 程序中的“无法识别的字符 \xE2”
【发布时间】:2020-11-27 17:00:40
【问题描述】:

我正在尝试在 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”;

【问题讨论】:

  • 帮不上忙,因为这个网站不允许我上传我看到的图片。我会尽我所能带你度过。
  • #!/usr/bin/perl 使用严格;使用警告;打印“你好世界”;
  • 错误显示:无法识别的字符 \xE2;标记为
  • 我现在确实编辑了我的问题,包括代码和错误。
  • 确保使用纯文本编辑器或 IDE 来编写代码。文本处理软件倾向于玩标点符号。

标签: macos perl osx-yosemite


【解决方案1】:

改变

“”
字符在打印语句到
"
例子
print "Hello world";  

【讨论】:

  • 详细说明:Perl(像大多数其他编程语言一样)只接受直引号,"。您上面的代码使用逗号引号 (...),可能是因为它是在 Microsoft Word 之类的内容中键入的,并且“智能引号”已打开。
  • 谢谢,现在可以用了,为什么以前不能用?以及如何输入这些非大括号双引号?
  • @nishanth chava,通常情况下,您只需按键盘上的相应键即可。如果您使用专为文字处理而非软件开发而设计的编辑器,它可能会自动将" 替换为更高级的引号。在 MS Word 中,在输入 " 后立即按撤消 (Ctrl-Z) 会撤消“升级”。
【解决方案2】:

确保像这样的语法 ' 应该是正确的。检查你的 perl 文件是否有语法错误

perl -c testfile.pl

【讨论】:

    【解决方案3】:

    虽然与本案没有直接关系,但也有另一种情况,可能会出现\xE2 错误,这似乎并不明显。也可以在其字符串中包含zero-width space,这也可能引发此错误。

    我在 notepad 或 notepad++ 中看不到这个字符,但我可以在 vim 中看到它为 &lt;200b&gt;。从例如 Microsoft Teams 复制内容时,此字符可以放在 {} 字符旁边。

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

    【讨论】:

      猜你喜欢
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-02
      • 2015-05-04
      • 2016-04-25
      相关资源
      最近更新 更多