这个Perl表达式有什么问题?

前端之家收集整理的这篇文章主要介绍了这个Perl表达式有什么问题?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下是什么问题.我得到$属性未定义错误.
if (my $attribute = $Data->{'is_new'} and $attribute eq 'Y') {
}

解决方法

你太聪明了.这样做:
my $attribute = $Data->{'is_new'};

if (defined $attribute && $attribute eq 'Y') { ... }

问题有两个:

>你还有一个额外的)>我的表达语境非常紧密; $属性不在词法范围内,直到包含它的条件语句的主体,因此其他分支并且无法访问它.您需要将其提升到包含的上下文,如我的示例所示.

原文链接:https://www.f2er.com/Perl/171964.html

猜你在找的Perl相关文章