和 || 类似,但是// 当左面的语句为undef时才会使右面的语句生效。请看例子:运行结果为:
Tring [0] ----> got [0]
Tring [] ----> got [default]
Tring [0] ----> got [0]
Tring [1] ----> got [1]
Tring [25] ----> got [25]
为了更清楚||和//的区别,不妨把脚本改一改:运行结果为:
Tring [0] ----> got [default]
Tring [] ----> got [default]
Tring [0] ----> got [default]
Tring [1] ----> got [1]
Tring [25] ----> got [25]
- #! /usr/bin/perl
- use 5.010;
- foreach $try (0, undef, '0', 1, 25) {
- print "Tring [$try] ---->";
- my $value = $try // 'default';
- say " got [$value]";
- }
Tring [0] ----> got [0]
Tring [] ----> got [default]
Tring [0] ----> got [0]
Tring [1] ----> got [1]
Tring [25] ----> got [25]
为了更清楚||和//的区别,不妨把脚本改一改:
- #! /usr/bin/perl
- use 5.010;
- foreach $try (0, undef, '0', 1, 25) {
- print "Tring [$try] ---->";
- my $value = $try || 'default';
- say " got [$value]";
- }
Tring [0] ----> got [default]
Tring [] ----> got [default]
Tring [0] ----> got [default]
Tring [1] ----> got [1]
Tring [25] ----> got [25]
编辑回复