1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
#!/usr/bin/perl use strict; use warnings; use 5.010; use Fcntl qw(:DEFAULT :flock); use Date::Calc; use Data::Dumper; local $Data::Dumper::Purity; $Data::Dumper::Purity = 1; local $Data::Dumper::Useqq; $Data::Dumper::Useqq = 1; local $Data::Dumper::Deparse = 1; $Data::Dumper::Deparse = 1; local $Data::Dumper::Sortkeys; $Data::Dumper::Sortkeys = sub { my ($hash) = @_; return [(sort {lc $a cmp lc $b} keys %$hash)]; }; system 'cls'; my $test = { foo => { bar => { baz => { alf => { datei => [2,4,6], }, }, }, }, }; my $ast = $test->{foo}{barion}{und}; if (defined $ast) { say "check"; } say "Autovivification Gegenprobe:\n".Dumper($test);
Quoteexists argument is not a HASH or ARRAY element or a subroutine at test.pl line 35.
2022-01-03T14:13:50 GwenDragonDafür habe ich mich jetzt entschieden, weil es um Verzeichnispfade geht und ich selbigen als String vorliegen habe.Oder sowas wie Deep::Hash::Exists o.ä. https://metacpan.org/search?q=hash+exists
2022-01-03T16:14:12 GwenDragonAber es gibt ja das Modul autovivivcation;
2022-01-05T08:25:59 biancaWie kann ich das no autovivification; ganz eng auf einen Code Block mit geschweiften Klammern begrenzen?
2022-01-05T08:25:59 biancaGern.Danke euch beiden!
2022-01-05T08:25:59 biancaUpps, ja, da hab ich mich vertippt. ;-)Nehme an, dass das autovivification ist.