我有一个数组,以下测试返回true:
1 ~~ @a
Run Code Online (Sandbox Code Playgroud)
然而,以下测试返回false:
@a ~~ 1
Run Code Online (Sandbox Code Playgroud)
我在Learning Perl中读到,智能匹配运算符两侧的值的放置并不重要,但显然在上面的代码中它确实如此.这是为什么?这两个陈述是否检查了不同的内容?
我编写了一个个人Web应用程序,用于charCodeAt()将用户输入的文本转换为相关的字符代码(例如?转换8839为存储),然后将其发送到Perl,后者将它们发送到MySQL.要检索输入文本,应用程序用于fromCharCode()将数字转换回文本.
我选择这样做是因为Perl的unicode支持很难正确处理.所以Perl和MySQL只能看到数字,这让生活变得更加简单.
我的问题是,我可以依赖fromCharCode()总是将8834之类的数字转换为相关字符吗?我不知道它使用什么标准,但是假设它使用UTF-8,如果将来改为使用UTF-16,如果没有向后兼容性,这显然会破坏我的程序.
我知道我对这些概念的看法并不是那么清楚,因此请注意澄清我是否表现出误解.