加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl – 多条件if语句没有重复代码?

发布时间:2020-12-15 21:59:21 所属栏目:大数据 来源:网络整理
导读:这是一个Perl程序,使用终端( Windows命令行)运行.我试图创建一个“如果这是真的,或者这是真的”如果语句使用相同的代码块而不必重复代码. if ($name eq "tom" and $password eq "123!") elsif ($name eq "frank" and $password eq "321!") {print "You have
这是一个Perl程序,使用终端( Windows命令行)运行.我试图创建一个“如果这是真的,或者这是真的”如果语句使用相同的代码块而不必重复代码.
if ($name eq "tom" and $password eq "123!") elsif ($name eq "frank" and $password eq "321!") {

print "You have gained access.";

} else {

print "Access denied!";

}

解决方法

简单:
if ( $name eq 'tom' && $password eq '123!'
    || $name eq 'frank' && $password eq '321!'
) {

(在表达式中使用高优先级&&和||,保留和/或用于流量控制,以避免常见的优先级错误)

更好:

my %password = (
    'tom' => '123!','frank' => '321!',);

if ( exists $password{$name} && $password eq $password{$name} ) {

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读