http://qs1969.pair.com?node_id=789500

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

in CGI::App::Plugin::DBH + variable names I asked how to do this, the reply was to look at the documentation . I want to do
$dbh = $self->dbh($DBName);
but get an error as previously described, I can't see the module author using dbh_config().

Can someone tell me how this can be done? Named handels from a variable? Also is there some method like this for scripts that aren't CGI scripts, like command line scripts?

Replies are listed 'Best First'.
Re: Question on CGI::Application::Plugin::DBH and named handels
by Anonymous Monk on Aug 18, 2009 at 15:44 UTC
    must call dbh_config() before calling dbh().

    Means you must call dbh_config() before calling dbh(). There is no way other than to call dbh_config(), so why don't you call dbh_config()?

      I've done $dbh_config(); and $self->dbh_config(); which throw the error $dbh_config is not imported and for the secondmust call dbh_config. Thanks
Re: Question on CGI::Application::Plugin::DBH and named handles
by james2vegas (Chaplain) on Aug 18, 2009 at 19:53 UTC
    You shouldn't be using CGI::Application::Plugin::DBH outside of CGI applications, use DBI itself (or an ORM like DBIx::Class). Are you using CGI::Application? Are you calling dbh_config() in setup() or cgiapp_init()? If you are calling it in a run-mode then it won't be persisted into the run mode where you call dbh().
Re: Question on CGI::Application::Plugin::DBH and named handles
by markjugg (Curate) on Aug 18, 2009 at 17:27 UTC
    I have some inclination to help if only you'll give up the mask of anonymous monk.
      I thought you didn't need an account to post here? I really didn't want to cause any harm in asking for help. Thanks
        You don't need an account to post here. I just like to know who I am helping. You could at least sign a name in the comment, if not using an actual account. Since I wrote CGI::Application::Plugin::DBH, I thought I might be able to help.