神秘的Perl技巧:单引号分隔符

在老语言中工作,这种语言有向后兼容的特点,最大的乐趣之一就是发现一些遗留下来的遗迹。几周前,我在阅读perlmod时发现了这个

旧的包分隔符是单引号……这只是为了让Ada程序员感觉他们知道发生了什么……为了向后兼容,旧式的语法仍然被支持

多么有趣!Ada使用单引号作为属性分隔符,类似于英语中的所有格

Customer'name

在Perl中,我可以用单引号替换两个冒号分隔符。所以这个简单的包声明和脚本

package My::Customer;

sub name { 'Dobby the Sheep' }

package main;

print My::Customer::name();

变成

package My'Customer;

sub name { 'Dobby the Sheep' }

package main;

print My'Customer'name();

你可以看到单引号可以替换包名中的命名空间分隔符和在调用name()时的属性访问器。运行这段代码会按预期打印出“Dobby the Sheep”,但在我编辑器中的语法高亮显示相当混乱。

参考文献


这篇文章最初发表在PerlTricks.com上。

标签

David Farrell

David是一位职业程序员,他经常推文博客关于代码和编程的艺术。

浏览他们的文章

反馈

这篇文章有什么问题吗?请通过在GitHub上打开问题或拉取请求来帮助我们。