```{index} single: all_keys; Hash::Util function ``` ```{index} single: Hash::Util::all_keys; Perl function ``` # all_keys Split a restricted hash's keys into visible and hidden buckets, writing the results into the caller's arrays. ## Synopsis all_keys(%hash, @visible, @hidden); Clears both arrays first, then fills `@visible` with every key that passes `exists` and `@hidden` with every legal-but-unassigned placeholder key. Returns a reference to the hash. On an unrestricted hash `@hidden` comes back empty and `@visible` matches `keys %hash`. Like `hidden_keys`, the behaviour is experimental and depends on the current restricted-hash implementation.