use strict; use warnings; use feature qw(say); my $data = { very => { deep => { hash => { structure => 1, }, }, } }; # gibt "undef" zurück my $var1 = $data->{very}{deep}{hash}{fail}; # setzt Default aber viel Redundanz im Code my $var2 = exists $data->{very}{deep}{hash}{fail} ? $data->{very}{deep}{hash}{fail} : 'kein Eintrag'; say "var1 -> $var1"; say "var2 -> $var2";