in reply to Deficiency of Win32::TieRegistry in user priviledge
It’s just a basic fact of life that the Registry, like many other system resources, is subject to access controls, and that your code might be run by someone who has the appropriate access privileges or by someone who does not. It must respond “gracefully and appropriately” either way ... even if that means terminating the program with a message to the effect that “sorry, you must be a god to run this.”
I would probably define an application-specific wrapper class to encapsulate all of the registry access that I needed the program to do. If Win32::TieRegistry returns an error-message or throws an exception, this wrapper would (probably) detect the problem and throw an exception, e.g. with Exception::Class.
And, yes, if I knew that the program has to be run by someone with godly powers, I would include a privilege-check at program startup, and terminate the program if this user cannot do what must be done. I have a strong aversion to programs that ... and I’m not speaking of you, specifically ... “have very obviously only been tested by developers who are running as administrators of their own systems.”