use strict; use warnings; no warnings 'void'; my %rec; printf "exists: %s\n", exists($rec{NOTE}) ?1:0; printf "defined: %s\n", defined($rec{NOTE}) ?1:0; printf "true: %s\n", $rec{NOTE} ?1:0; print "--\n"; $rec{NOTE} = undef; printf "exists: %s\n", exists($rec{NOTE}) ?1:0; printf "defined: %s\n", defined($rec{NOTE}) ?1:0; printf "true: %s\n", $rec{NOTE} ?1:0; print "--\n"; $rec{NOTE}{Nested}; printf "exists: %s\n", exists($rec{NOTE}) ?1:0; printf "defined: %s\n", defined($rec{NOTE}) ?1:0; printf "true: %s\n", $rec{NOTE} ?1:0;