【问题标题】:Why is the semicolon unrecognized when running this perl script? [closed]为什么运行这个 perl 脚本时分号无法识别? [关闭]
【发布时间】:2019-05-21 02:42:09
【问题描述】:

文本编辑器中的代码

终端错误。

我正在尝试设置 Moss(用于 CS 的斯坦福抄袭检查器),当我运行脚本时出现无法识别脚本中分号的错误?

这是在 Mac OSX 上使用 textwrangler 作为文本编辑器运行的。

无法识别的字符 \xC2;在 t_l = "c";

【问题讨论】:

  • 显示文件的相关部分?
  • 我最近有类似的东西,原来我从另一个文本编辑器粘贴了代码,并在那里得到了一些不可见的特殊字符(分页符)。我删除了问题部分并重新输入了它,它很好。
  • 您需要一个minimal reproducible example,并在您的问题正文中包含代码。屏幕截图没有帮助。
  • 请不要发布文字图片。我们无法复制和粘贴文本图像。
  • Stephane 很好地尝试使用这个网站。一定要对上面 Dave Cross 和 Shawn 的 cmets 做出回应。我们将不胜感激,并帮助您将来从该站点中受益。我对你的问题投了赞成票,因为我认为你提出的问题是值得的,我承认你是新来的。我希望得到鼓励。

标签: perl textwrangler


【解决方案1】:

它不是在抱怨分号(即 3B),而是在抱怨后面有一个值为 C2 的字节。这不是合法的 ASCII(如果您不使用 use utf8;,这是预期的),尽管它可能是合法 UTF-8 序列的开始(如果您使用 use utf8;,这是预期的)

您在终端或编辑器中看不到它,因为它对他们来说也是垃圾,或者因为他们期望 UTF-8 并且它是某种空白或不可打印的 UTF-8 字符(开始)。

可能是 U+00A0 NO-BREAK SPACE,UTF-8 编码为 C2 A0。这将在需要 UTF-8 的终端和编辑器中显示为正常空间。

重新键入该行以将 NBSP 替换为普通空格,或添加 use utf8; 以使 Perl 将源代码视为 UTF-8。

【讨论】:

  • 答案已编辑..
猜你喜欢
  • 2023-01-12
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多