perl - 为什么这个带有奇怪变量名的 perl 脚本有效?

标签 perl unicode

我在 perl 文档中读到的 perl 标识符应该是一个单词字符。 (不包括特殊的 perl 变量)。

我在网上的某个地方看到了这个示例脚本:

use 5.018;
use utf8;

my($𐂯 , $𐂮 , $𐃘 , $𐂂 ) = (1..4);
say "$𐂂 " if( $𐂮 + $𐂯  == $𐃘 );

而且它没有任何错误。那么,perl 允许一些“骨头和箭头之类”的字符作为变量名吗?

最佳答案

任何匹配 \p{Word} 的东西都可以用在 Perl 的标识符名称中。 Unicode 标准定义了大量具有该属性的字符。

use utf8 用法很重要;这告诉 Perl 源文件本身是用 UTF-8 编码的,因此这些字符可以在代码中显示为文字。

例如,代码中的一个字符是 LINEAR B IDEOGRAM B254 DART . Unicode 字符数据库表示这是包含在 Word 字符集中的“其他字母”。

关于perl - 为什么这个带有奇怪变量名的 perl 脚本有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24744102/

相关文章:

perl - 如何使用perl处理图论相关问题

excel - 如何通过Perl脚本编写带有特殊字符的Excel文件?

windows - FAT-32 上的 Unicode 文件名?

perl - SQL LIKE AND NOT LIKE 语句对应的 Perl DBIx::Class

c++ - 使用内联 CPP 调用 so 文件中的函数不起作用

search - 在 Sphinx 搜索中,如何将 "hashtag"添加到 charset_table?

python - 在Python中使用urllib打开UTF16 URL

python - 如何将 utf-8 花式引号转换为中性引号

string - 将 unicode 字符转换为小写的标准算法是什么?

mongodb - 使用 mongo-hadoop 连接器的 Hadoop 流式传输失败