首页 > 解决方案 > 为什么这个抛出错误 Bad switch statement

问题描述

当我只使用 6 个案例时,开关正在工作,当我添加第 7 个案例时,它给出错误

switch($A){
    case 0 {do something}
    case 1 {do something}
    case 2 {do something}
    case 3 {do something}
    case 4 {do something}
    case 5 {do something}
    case 6 {do something}
    default{}
}

标签: perlswitch-statement

解决方案


看起来您正在使用Switch模块。曾经有一段时间,它被包含在标准 Perl 发行版(从 5.8 到 5.10)中,但它是一个源过滤器,这是一种简短的说法,即“这在解析你的 Perl 代码时做了非常复杂的事情,并且几乎可以保证被破解在某些时候很难找到方法”。

请不要使用它。

但如果你坚持使用它,那就换成default.else


推荐阅读