in reply to Seeking help with CGI::Application, please.
What you have there should basically work, although there are a few problems with your code. However, I suspect the real problem is somewhere in the rest of the code that you haven't included.
Here are a couple of things that you should consider changing:
- add 'use strict;' to the top: Since you don't have a 'my $output' in your Login sub, I assume that you are not using strict. And while you are at it, you should probably add 'use warnings;' as well, and 'use diagnostics;' if you don't understand the errors or warnings that are spit out.
- is 'h3' a method that you wrote? Or is it part of the CGI.pm library, and it should have been $q->h3?
- Are you using something different than CGI.pm, because 'password' is not a valid method of CGI.pm (see the call to $q->password). It should probably be password_field instead.
I doubt that fixing those problems will remove the error though. Also, the error message is kind of an odd one. CGI::Application doesn't use a DESTROY method, so where is that coming from? I am wondering if maybe your are loading a module that imports a lot of functions, and it happens to override some of the functionality in CGI::Application (a common mistake is to add something like 'use CGI qw(:standard)' to your app, which unexpectedly overrides some important methods in CGI::Application).
Without more code, it is all just guesswork though...