Unexpectedly this causes $h{a}{b} to be created as an empty hash, although I thought I was doing read-only access. use 5.022; use warnings; use strict; use Data::Dumper; my %h; if (not $h{a}{b}{c}) { say Dumper \%h; } Is this the longstanding grandfathered-in inconsistency in autovivification, or have I misunderstood what's meant to happen? -- Ed Avis <eda@waniasset.com>Thread Next