perl - Perl中变量名中的单引号?

标签 perl single-quotes variable-names

我在 vim 中编写了一些 Perl 代码,不小心在变量名中输入了一个单引号字符,并注意到它以与普通单引号字符串不同的颜色突出显示它。
enter image description here
我觉得这很奇怪,所以我写了一个小测试程序(如上所示)并尝试运行它以查看 Perl 将如何处理它,但我收到了这个错误:"my" variable $var::with::apostrophes can't be in a package这里到底发生了什么?是否存在变量名称中的单引号实际上有效的情况?如果是这样,单引号在这种情况下使用时有什么含义?

最佳答案

单引号是 Perl 4 中使用的命名空间分隔符,由双冒号 :: 代替在 Perl 5 中。因为 Perl 主要是向后兼容的,所以这仍然有效。它是 great for golfing ,但其他的不多。
Here's an article关于它在 perl.com 上没有解释。

关于perl - Perl中变量名中的单引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66972234/

相关文章:

perl - 有没有办法使用现有的 DBI 数据库句柄连接到 DBIx::Class 模式?

arrays - 如何在 perl 中循环遍历数组以获取元素子集(按相反顺序)

java - 从现有 ArrayList 创建 ArrayList

perl - 如何声明 Perl 模块的版本号?

linux - 使用 FIND 和 EXEC 在多个文件上执行需要文件名的 Perl 脚本

vue.js - View : Failed to compile (Strings must use singlequote)

powershell - 使用 powershell 命令处理用户名中的撇号(单引号) - Get-Azureaduser

string - Perl中 "and '的区别

c++ - 与类型同名的变量 - 哪个编译器是正确的?

Java Swing,100个TextFields有类似的任务,所以我想编写一个函数来做到这一点