关于块when
之外的语句的文档似乎很少。given
据说when
可以在设置“主题”时使用,但究竟什么时候考虑设置主题?考虑以下情况:
for (@arr) {
when { }
}
似乎这是默认的基本情况,但我什至无法在我的 perl 5.14.2 上使用它 -原来这只是另一个 bash 引用问题。$ perl -Mfeature=switch -e 'foreach (qw(a b c)) { when (/a/) {print 'boom'} }'
什么也不打印。我究竟做错了什么?
for my $elem (@arr) {
when { }
}
这行得通吗?$elem 会自动成为when
使用的主题吗?
for (@arr) {
$_ = some_expression($_);
when { }
}
这行得通吗?可以在循环内设置主题吗?
另外,当上述每个代码段使用foreach
而不是时,有什么区别for
吗?
基本上,我对主题的话题很不清楚,所以请赐教。