Perl高级编程实用技巧与模块应用
1. 软引用的正确使用
在Perl中,软引用(或符号引用)是一个需要谨慎使用的特性。当执行如下代码时:
DB<1> $name="Bob";
DB<2> $$name="Ted";
这里你期望将值 “Ted” 赋给 $name 所引用的变量,但实际上 $name 只是一个标量值 “Bob”。Perl 会尝试根据你提供的信息生成最合理的结果,即创建一个名为 $Bob 的标量变量并将其值设为 “Ted”。这一过程被称为“符号引用”。
通常情况下,应避免使用符号引用,因为它不仅容易让人混淆,还可能导致额外的问题。为了避免意外使用符号引用,可以使用 use strict 'refs' 语句,示例如下:
#!perl
#strict1.pl
use strict 'refs';
$name="Bob";
$$name="Ted";
运行上述代码会报错,提示不能在使用 strict refs 时将字符串作为标量引用。若之后需要允许符号引用,可以使用 no strict 'refs' 语句。
不过,当软引用被正确使用时,也能实现一些巧妙的编码技巧。例如,要存储某一年每月的销售金额,最初的代码可能如下:
超级会员免费看
订阅专栏 解锁全文
67

被折叠的 条评论
为什么被折叠?



