1

不推荐使用的特殊变量(如$#and $*)是否会永远丢失,或者是否有可能在未来的 Perl 版本中重用它们?

4

2 回答 2

6

如果存在适当的或类似的东西,没有理由不能重复使用它们use 5.16,但这极不可能。首先,因为它只是在自找麻烦(它会让人们感到困惑),其次因为特殊变量无论如何都是一件令人讨厌的事情,并且引入一个新变量很少是一个好主意。你可能会认为他们永远失去了

于 2011-07-29T08:28:12.117 回答
2

在不推荐使用它们的 Perl 版本中使用它们没有问题。

我在我的模块中使用了$*变量,它为 Perl 5创建了一个 Perl6 风格的whatever-star ( ) 。*

请务必使用全局别名来分配给变量。这将规避任何已弃用的警告,并将从变量中删除任何 tie 魔法。

** = \"\x{27}";  # assigns to $*

如果您想从命令行简洁地执行此操作,可以将该行放在一个模块中:

在安装到您的 perl 库路径中的文件 'q.pm' 中:

** = \"\x{27}";

然后你可以写:

perl -Mq -e '... use $* here ...'
于 2011-07-29T15:04:59.177 回答