Perl函数定义的复杂性

问题描述

我有一个perl脚本,它接受参数列表(强制性和非强制性)。基于这些参数,确定脚本的流程。我感到困惑的是,如果脚本中多次使用arg(以switch的形式)来确定流量(if循环中大部分时间),那么哪个更好呢? if(defined arg){} 要么 my $switch = defined arg ? 1:0; if($switch){}

解决方法

defined已经返回true或false。使用defined的结果为真个案选择一个真值,为假个案选择一个假值只是多余的工作。这可以完成您需要的所有工作,而无需额外的工作:

if( defined $foo ) { ... }

有时我想打印该真或假值,所以我将使用双引号(取反,然后再次取反)对值进行归一化:

 !! defined $foo

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...