perl 逻辑操作符 //

回复 收藏
和 || 类似,但是// 当左面的语句为undef时才会使右面的语句生效。请看例子:
  1. #! /usr/bin/perl
  2. use 5.010;
  3. foreach $try (0, undef, '0', 1, 25) {
  4.         print "Tring [$try] ---->";
  5.         my $value = $try // 'default';
  6.         say " got [$value]";
  7. }
运行结果为:
Tring [0] ----> got [0]
Tring [] ----> got [default]
Tring [0] ----> got [0]
Tring [1] ----> got [1]
Tring [25] ----> got [25]

为了更清楚||和//的区别,不妨把脚本改一改:
  1. #! /usr/bin/perl
  2. use 5.010;
  3. foreach $try (0, undef, '0', 1, 25) {
  4.         print "Tring [$try] ---->";
  5.         my $value = $try || 'default';
  6.         say " got [$value]";
  7. }
运行结果为:
Tring [0] ----> got [default]
Tring [] ----> got [default]
Tring [0] ----> got [default]
Tring [1] ----> got [1]
Tring [25] ----> got [25]
2012-12-25 11:04 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: