If I have a hash
my %h = (
secret => 1;
);
and I know that is only is one key in the hash, but I don\'t know what it is called.
[ keys %h ]->[0]
will also do the disambiguation Joel mentions in an earlier comment. This code smells like it will cause problems though. If there is really only a single key/value pair, there might be a better way to handle the data.
At the least, I'd check to be sure the expectation is never violated silently. E.g.‐
keys %h == 1 or die "ETOOMANYKEYS";
print [ keys %h ]->[0], $/;