in reply to keys %::

I believe, but am not certain, that the only purpose of the empty Regexp::DESTROY is saving Perl the time and trouble of looking for UNIVERSAL::DESTROY, Regexp::AUTOLOAD, and UNIVERSAL::AUTOLOAD whenever a qr// is freed.