Perl 5 新特性全解析
1. 智能匹配运算符(Smartmatch Operator)
智能匹配运算符 ~~ 提供了一种便捷的方式来进行数据比较。例如,你有一个数组和一个哈希,想要确定数组中的某个标量是否是哈希中的键,可以这样操作:
if (%hash ~~ @array) { }
更多关于智能匹配的特性可以参考:http://perldoc.perl.org/perlop.html#Smartmatch-Operator。
智能匹配通常与 given 语句结合使用。以下是一个示例代码:
#!perl
#given1.pl
use feature "switch";
print "Please enter 'yes' or 'no': ";
$response=<STDIN>;
chomp $response;
given ($response) {
when ($_ ~~ /^y/) {print "You agree!\n"; }
when ($_ ~~ /^n/) {print "Bummer, you don't agree\n"; }
default {print "Maybe next time\n"; }
}
需要注意的是, ~~ 可能是 when 的默认比较运算符,但并不完全确定,所以显式
超级会员免费看
订阅专栏 解锁全文
647

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



