Perl 中有哪些十分实用但却比较晦涩的语言特性,你能够利用它们完成有用的工作吗?
指南:
- 尽可能限制回答范围在 Perl 核心而非 CPAN 上
- 请给出一个例子和简短的描述
其他编程语言中也有的隐藏特性:
(这些来自于 Corion 的回答)
- C
- Duff's 设备
- 可移植性和标准性
- C#
- 对空格分隔列表和字符串使用引号
- 可别名的命名空间
- Java
- 静态初始化器
- JavaScript
- 函数是一等公民
- 块级作用域和闭包
- 通过变量间接调用方法和访问器
- Ruby
- 通过代码定义方法
- PHP
- 无处不在的在线文档
- 魔术方法
- 符号引用
- Python
- 一行内交换值
- 能够替换甚至是核心函数的功能实现
其他隐藏特性:
运算符:
- 布尔伪运算符
- 翻转-翻倒运算符
- 也用于列表构造
++
和一元-
操作符适用于字符串- 重复运算符
- 太空船运算符
- || 运算符 (和 // 运算符) 用于从一组选择中选择
- 钻石操作符
m//
操作符的特殊情况- 波浪线-波浪线 "操作符"
引用结构:
语法和名称:
模块、编译指令和命令行选项:
变量:
循环和流程控制:
正则表达式:
其他特性:
其他技巧和元回答:
另请参阅: