📅  最后修改于: 2023-12-03 15:27:07.242000             🧑  作者: Mango
珀尔 (Perl) 中的 Given-When 语句类似于其他语言中的 Switch 语句,但它提供了更多功能。
Given-When 语句的基本结构如下:
given ($variable) {
when ($value1) {
# 执行代码块1
}
when ($value2) {
# 执行代码块2
}
default {
# 执行默认代码块
}
}
在上面的代码中,首先使用 given
关键字指定一个变量。接着使用 when
关键字和对应的比较值来定义一个或多个代码块。最后可以使用 default
关键字定义一个默认的代码块,它会在没有匹配的 when
语句时执行。
下面是一个示例:
use feature qw(switch);
my $name = "John";
given ($name) {
when (/^J/i) { print "Name starts with J" }
when (/^D/i) { print "Name starts with D" }
default { print "Name does not start with J or D" }
}
在上面的代码中,使用 given
关键字指定一个字符串变量 $name
。接着使用 when
关键字和正则表达式来判断这个字符串是否以 J 或 D 开头。最后使用 default
关键字来定义一个默认的代码块,它会在以上两个 when
语句都不匹配时执行。
除了上述基本结构,Given-When 语句还支持以下高级特性:
given ($name) {
when ("John") { print "Name is John" }
when ("Jane") { print "Name is Jane" }
default { print "Name is not John or Jane" }
}
given ($age) {
when ($_ > 18 && $_ < 30) { print "Age is between 18 and 30" }
when ($_ > 30 && $_ < 50) { print "Age is between 30 and 50" }
default { print "Age is not in a valid range" }
}
given ($score) {
when { $_ > 90 } { print "Score is greater than 90" }
when { $_ > 80 } { print "Score is greater than 80" }
default { print "Score is less than 80" }
}
Given-When 语句是 Perl 中非常有用且灵活的语句,它可以轻松完成多种场景下的选择和分支控制。