Mar*_*ord 0 string perl if-statement concatenation
我需要帮助"优化"我的代码,因为我确信有一种更好,更清洁的方法.我有6个变量是通过从较长的字符串中解析而创建的:
Year
Make
Model
Color
ColorLower
Style
Run Code Online (Sandbox Code Playgroud)
根据记录,我可能会在部分或全部变量中包含详细信息.但在大多数情况下,有些是空白的.在填充变量之后,我将它们添加到数据库字段中,该字段是汽车/车辆的描述.
目前我的if/else块逐个进行,如果变量的长度非零,则为连接的描述变量
if (length($Year)>0)
{
$Description == $Description + " " + Year
}
elsif (length($Make) > 0)
$Description == $Description + " " + $Make
} ...and so on
Run Code Online (Sandbox Code Playgroud)
TMTOWTDI绝对适用于此,我总是惊叹于专家提出的优雅的单行.虽然我现在的工作正在进行,但我有兴趣听到有一种更短,更紧凑的方式,我可以最大化我的代码.
谢谢大家.
也许是这样的:
$desc = join ' ', grep { length $_ > 0 }
$Year, $Make, $Model, $Color, $ColorLower, $Style;
Run Code Online (Sandbox Code Playgroud)