我正在使用DBI从MySQL表中将完整的行拖入哈希中,并且无法弄清楚如何检测那些为空的字段。
下面的代码有点草率,因为我尝试了各种方法来找到解决问题的方法。本质上,下面的循环从MySQL打印出第一行的内容。有些字段有数据,有些则没有。但是,无论哈希中的任何键是否指向数据,此循环都声明每个键都已定义,但为空。我想,我错过了这么简单的东西,但是找不到它。
my %currec;
foreach my $row (@{$data_all})
{
say $row;
%currec = %{$row};
foreach my $columns (keys %currec) {
my $text = $currec{$columns};
say $text;
if(undef($text))
{
say "$columns is NOT DEFINED";
}
elsif (length($text) < 1)
{
say "$columns DEFINED, but empty";
}
}
exit;
}
undef()
取消定义变量,并始终返回未定义的值...
尝试:
...
if(!defined($text))
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句