如何在 Perl 中的 switch 语句中分组案例 [英] How to group cases within a switch statement in Perl

查看:57
本文介绍了如何在 Perl 中的 switch 语句中分组案例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给定一个代码

use Switch;

my $var1x = "one";

switch ($var1x) {
    case "one" { print "Why so small?\n"}
    case "two" { print "Why so small?\n"}
    case "three" { print "That is ok.\n"}
    case "four"  { print "That is ok.\n"}
}

我想对类似案例的执行进行分组.有什么建议如何正确地用 Perl 编写它吗?

I would like to group the implementation of similar cases. Any recommendations how to write it in Perl properly?

推荐答案

请不要使用旧的、缓慢的 Switch 模块.

Please don't use old, slow Switch module.

通常由 CODEREF 哈希解析.

Usually it is resolved by CODEREF hashes.

my $var1x = "one";

my $is_ok     = sub { print "That is ok.\n"};
my $why_small = sub { print "Why so small?\n" };

my %switch = (
    one   => $why_small,
    two   => $why_small,
    three => $is_ok,
    four  => $is_ok,
    ten   => sub { print "Unbelievable!\n"; },
);

$switch{$var1x}->();

这篇关于如何在 Perl 中的 switch 语句中分组案例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆