perl - 为什么运行这个 perl 脚本时分号无法识别?
问题描述
来自文本编辑器的代码
终端错误。
我正在尝试设置 Moss(用于 CS 的斯坦福抄袭检查器),当我运行脚本时,出现无法识别脚本中分号的错误?
这是在 Mac OSX 上使用 textwrangler 作为文本编辑器运行的。
无法识别的字符 \xC2; 在 t_l = "c" 之后由 <-- HERE 标记;<-- HERE 在 ./moss.pl 第 173 行的第 14 列附近。
解决方案
它不是在抱怨分号(即 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。
推荐阅读
- c# - 将变量传递给另一个方法
- python - 无法在嵌入消息的标题 discord.py 中标记成员
- python-3.x - 无法从“locust.user.users”导入名称“HttpLocust”
- puppet - Puppet - 在开始不工作之前需要服务包
- android - BadParcelableException 没有在项目中使用 Parcelables
- regex - 在 configure.ac 的“测试”语句中指定通配符或正则表达式的最佳方法是什么?
- python - 使用Python列表中的if语句从每个超过250的数字中减去一个值?
- r - 用 ggplot2 覆盖基图
- python - kivy:我怎样才能拥有该实例独有的recycleview显示数据
- javascript - 在 p5 中做一个计算器