发布时间:2019-08-15 14:31:19
首先,perl中没有switch关键字。如果你确定看到有switch什么的,查一下,是不是引用了什么模块,而该模块里定义了switch。
第二,perl的说明和示范文档里,有使用“SWITCH :”这种字样,是大写的(当然,你要用小写也是可以的)。但这个不是关键字,是定义的LABEL,也就是标签,供跳转使用的,其用意,是模拟实现C语言的switch语句(所谓标签,就是一个定义,你用什么词都行,只要不是perl关键词都可以使用)。类似于下面:
123456 SWITCH: { if (/^abc/) { $abc = 1; last SWITCH; } if (/^def/) { $def = 1; last SWITCH; } if (/^xyz/) { $xyz = 1; last SWITCH; } $nothing = 1; }第三,从perl 5.10.1开始,新增了真正实现C语言的switch的功能的语法,关键词是when,语法如下:
1234567 use v5.10.1; for ($var) { when (/^abc/) { $abc = 1 } when (/^def/) { $def = 1 } when (/^xyz/) { $xyz = 1 } default { $nothing = 1 } }