请问如果xml中某项为空怎么处理?

请问如果xml中某项为空怎么处理?

一个最简单的xml文件,如下:doc.xml
<?xml version="1.0" encoding="UTF-8"?>
<configure>
        <process>
                <cmd>less</cmd>
                <uid>123</uid>
                <maillist>m3@my.com</maillist>
        </process>
</configure>
想要取出uid的值,代码如下:

use XML::Simple;
$filename = "doc.xml";      
$xml = new XML::Simple;
$data = undef;
$data = eval{ $xml->XMLin($filename); };
   
if(exists($data->{process}->{uid})){
$uid=$data->{process}->{uid};
}
else{
        $uid="no";
}       
print "$uid\n";
如果123存在的话,则结果正确,而如果123不存在,即<uid></uid>,则结果是:HASH(0x1aa90170)
请问该如何处理呢?用defined也是不行的
可以用ref判断类型是否HASH

like if(ref($data->{process}->{uid}) ne 'HASH')