in reply to Re^3: restricting values to a nested datastructure
in thread restricting values to a nested datastructure

However,
if ( $a{'abd'} and $a{'abd'}->[0]) { print "yes\n"}
is the same.

Not really. Array element maybe defined but false. You can't omit defined as easy as exists.