System error

error:  Can't call method "prepare" on an undefined value at /usr/local/lib/site_perl/SJG/Configuration/DB.pm line 117.
context: 
... 
113:  my $self = shift(@_);
114:  my $query_nickname = shift(@_);
115:  my $query = shift(@_);
116: 
117:  $self->{"queries"}->{$query_nickname} = $self->{"db"}->prepare($query);
118: 
119:  return 1;
120:  }
121: 
... 
code stack:  /usr/local/lib/site_perl/SJG/Configuration/DB.pm:117
/usr/local/lib/site_perl/SJG/Configuration/DB.pm:89
/home/www/secure/ill/comps/illcal.mas:131
/home/www/secure/ill/ill.html:150
/home/www/secure/ill/index.html:4
/home/www/secure/ill/archive/dhandler:3
raw error






























Can't call method "prepare" on an undefined value at /usr/local/lib/site_perl/SJG/Configuration/DB.pm line 117.


Trace begun at /usr/local/share/perl/5.14.2/HTML/Mason/Exceptions.pm line 125
HTML::Mason::Exceptions::rethrow_exception('Can\'t call method "prepare" on an undefined value at /usr/local/lib/site_perl/SJG/Configuration/DB.pm line 117.^J') called at /usr/local/lib/site_perl/SJG/Configuration/DB.pm line 117
SJG::Configuration::DB::prepare('SJG::Configuration::DB=HASH(0x7f93c8d42ff0)', 'RESERVED', 'select name from qdata where qname=? and upload_date=?') called at /usr/local/lib/site_perl/SJG/Configuration/DB.pm line 89
SJG::Configuration::DB::sql('SJG::Configuration::DB=HASH(0x7f93c8d42ff0)', 'select name from qdata where qname=? and upload_date=?', 'illq', '2021-06-01') called at /home/www/secure/ill/comps/illcal.mas line 131
HTML::Mason::Commands::__ANON__('sqldate', '2021-06-20') called at /usr/local/share/perl/5.14.2/HTML/Mason/Component.pm line 135
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x7f93c8d35dc0)', 'sqldate', '2021-06-20') called at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 1302
eval {...} at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 1292
HTML::Mason::Request::comp(undef, undef, 'sqldate', '2021-06-20') called at /home/www/secure/ill/ill.html line 150
HTML::Mason::Commands::__ANON__('sqldate', '2021-06-20', 'illuminator', '^J^I^I^I<h1>June 20, 2021: My Dice Tower (Or, When The Imperfect Is Perfect)</h1>^J^I^I^I<p>^M^J^I<a href="http://www.sjgames.com/img/newsq/illq/2021/di-dicetower.jpg" title="Duct Tape Dice Tower"><img align="right" alt="Duct Tape Dice Tower" border="1" hspace="8" src="http://www.sjgames.com/img/newsq/illq/2021/di-dicetowerThumb.jpg" vspace="6" /></a></p>^M^J<p>^M^J^II have a lot of top-notch gaming equipment. But there&#39;s a value in having less-great stuff, too, especially if you travel, do conventions, etc. As an example: Like many a gamer, I have some really nice dice-rolling methods. Unfortunately, some of them are <i>too</i> nice, at least to leave the house or put near pizza-gripping fingers. Fortunately, I have the perfect dice tower for such circumstances.</p>^M^J<p>^M^J^II made this one out of foamboard using <a href="https://www.instructables.com/Making-a-Formboard-Dice-Tower">these instructions from Instructables</a> as a guide. Since at the time I was trying to get it done quickly (gamers gotta game!), I was lazy in my construction; rather than rely on glue to hold the whole thing together, I used white duct tape.</p>^M^J<p>^M^J^IMy efforts resulted in a distinctive-but-neutral, effective dice-roller &ndash; one we&#39;re not afraid to toss in a backpack or (worst-case scenario) accidentally leave at a convention. If that happens, I may make another one, and it&#39;d probably be better because of the experience I gained making this one. But I hope it sticks around a while; for me, the fact that it&#39;s not perfect makes it perfect for many gaming situations.</p>^M^J<p>^M^J^I-- <a href="mailto:smarsh@sjgames.com">Steven Marsh</a></p>^M^J<p>^M^J^I&nbsp;</p>^M^J^J^I^I^I<br clear="all">^J^I^I^I^J^I^I^I<p id="discussForum" style="float: right;"><a href="http://forums.sjgames.com/forumdisplay.php?f=92"><img src="http://www.sjgames.com/img/discuss-on-forums.png" alt="Discuss this post on the forums!" /></a></p>^J^I        ^J<!-- addthis -->^J^J<b><span style="float:left; padding:0 1%;">Share this post!</span></b>^J<div class="addthis_toolbox addthis_default_style" style="float:left;">^J    <a class="addthis_button_facebook" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_twitter" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_reddit" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_tumblr" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_email" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <span class="addthis_separator">|</span>^J    <a class="addthis_button_expanded" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)">More</a>^J</div>^J^J<div style="margin: 5px 0; clear: left;">^J    <a href="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" class="small">Permalink</a> &bull;^J    <a href="/ill/archive/" class="small">Archive</a> &bull;^J    <a href="/ill/illsotw/" class="small">Illuminated&nbsp;Site&nbsp;of&nbsp;the&nbsp;Week</a>^J</div>^J', 'pagetitle', 'Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)', 'mobile', 0, 'description', 'I have a lot of top-notch gaming equipment. But there&#39;s a value in having less-great stuff, too, especially if you travel, do conventions, etc . . .') called at /usr/local/share/perl/5.14.2/HTML/Mason/Component.pm line 135
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x7f93c8cd2978)', 'sqldate', '2021-06-20', 'illuminator', '^J^I^I^I<h1>June 20, 2021: My Dice Tower (Or, When The Imperfect Is Perfect)</h1>^J^I^I^I<p>^M^J^I<a href="http://www.sjgames.com/img/newsq/illq/2021/di-dicetower.jpg" title="Duct Tape Dice Tower"><img align="right" alt="Duct Tape Dice Tower" border="1" hspace="8" src="http://www.sjgames.com/img/newsq/illq/2021/di-dicetowerThumb.jpg" vspace="6" /></a></p>^M^J<p>^M^J^II have a lot of top-notch gaming equipment. But there&#39;s a value in having less-great stuff, too, especially if you travel, do conventions, etc. As an example: Like many a gamer, I have some really nice dice-rolling methods. Unfortunately, some of them are <i>too</i> nice, at least to leave the house or put near pizza-gripping fingers. Fortunately, I have the perfect dice tower for such circumstances.</p>^M^J<p>^M^J^II made this one out of foamboard using <a href="https://www.instructables.com/Making-a-Formboard-Dice-Tower">these instructions from Instructables</a> as a guide. Since at the time I was trying to get it done quickly (gamers gotta game!), I was lazy in my construction; rather than rely on glue to hold the whole thing together, I used white duct tape.</p>^M^J<p>^M^J^IMy efforts resulted in a distinctive-but-neutral, effective dice-roller &ndash; one we&#39;re not afraid to toss in a backpack or (worst-case scenario) accidentally leave at a convention. If that happens, I may make another one, and it&#39;d probably be better because of the experience I gained making this one. But I hope it sticks around a while; for me, the fact that it&#39;s not perfect makes it perfect for many gaming situations.</p>^M^J<p>^M^J^I-- <a href="mailto:smarsh@sjgames.com">Steven Marsh</a></p>^M^J<p>^M^J^I&nbsp;</p>^M^J^J^I^I^I<br clear="all">^J^I^I^I^J^I^I^I<p id="discussForum" style="float: right;"><a href="http://forums.sjgames.com/forumdisplay.php?f=92"><img src="http://www.sjgames.com/img/discuss-on-forums.png" alt="Discuss this post on the forums!" /></a></p>^J^I        ^J<!-- addthis -->^J^J<b><span style="float:left; padding:0 1%;">Share this post!</span></b>^J<div class="addthis_toolbox addthis_default_style" style="float:left;">^J    <a class="addthis_button_facebook" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_twitter" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_reddit" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_tumblr" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_email" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <span class="addthis_separator">|</span>^J    <a class="addthis_button_expanded" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)">More</a>^J</div>^J^J<div style="margin: 5px 0; clear: left;">^J    <a href="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" class="small">Permalink</a> &bull;^J    <a href="/ill/archive/" class="small">Archive</a> &bull;^J    <a href="/ill/illsotw/" class="small">Illuminated&nbsp;Site&nbsp;of&nbsp;the&nbsp;Week</a>^J</div>^J', 'pagetitle', 'Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)', 'mobile', 0, 'description', 'I have a lot of top-notch gaming equipment. But there&#39;s a value in having less-great stuff, too, especially if you travel, do conventions, etc . . .') called at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 1302
eval {...} at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 1292
HTML::Mason::Request::comp(undef, undef, 'sqldate', '2021-06-20', 'illuminator', '^J^I^I^I<h1>June 20, 2021: My Dice Tower (Or, When The Imperfect Is Perfect)</h1>^J^I^I^I<p>^M^J^I<a href="http://www.sjgames.com/img/newsq/illq/2021/di-dicetower.jpg" title="Duct Tape Dice Tower"><img align="right" alt="Duct Tape Dice Tower" border="1" hspace="8" src="http://www.sjgames.com/img/newsq/illq/2021/di-dicetowerThumb.jpg" vspace="6" /></a></p>^M^J<p>^M^J^II have a lot of top-notch gaming equipment. But there&#39;s a value in having less-great stuff, too, especially if you travel, do conventions, etc. As an example: Like many a gamer, I have some really nice dice-rolling methods. Unfortunately, some of them are <i>too</i> nice, at least to leave the house or put near pizza-gripping fingers. Fortunately, I have the perfect dice tower for such circumstances.</p>^M^J<p>^M^J^II made this one out of foamboard using <a href="https://www.instructables.com/Making-a-Formboard-Dice-Tower">these instructions from Instructables</a> as a guide. Since at the time I was trying to get it done quickly (gamers gotta game!), I was lazy in my construction; rather than rely on glue to hold the whole thing together, I used white duct tape.</p>^M^J<p>^M^J^IMy efforts resulted in a distinctive-but-neutral, effective dice-roller &ndash; one we&#39;re not afraid to toss in a backpack or (worst-case scenario) accidentally leave at a convention. If that happens, I may make another one, and it&#39;d probably be better because of the experience I gained making this one. But I hope it sticks around a while; for me, the fact that it&#39;s not perfect makes it perfect for many gaming situations.</p>^M^J<p>^M^J^I-- <a href="mailto:smarsh@sjgames.com">Steven Marsh</a></p>^M^J<p>^M^J^I&nbsp;</p>^M^J^J^I^I^I<br clear="all">^J^I^I^I^J^I^I^I<p id="discussForum" style="float: right;"><a href="http://forums.sjgames.com/forumdisplay.php?f=92"><img src="http://www.sjgames.com/img/discuss-on-forums.png" alt="Discuss this post on the forums!" /></a></p>^J^I        ^J<!-- addthis -->^J^J<b><span style="float:left; padding:0 1%;">Share this post!</span></b>^J<div class="addthis_toolbox addthis_default_style" style="float:left;">^J    <a class="addthis_button_facebook" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_twitter" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_reddit" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_tumblr" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <a class="addthis_button_email" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)"></a>^J    <span class="addthis_separator">|</span>^J    <a class="addthis_button_expanded" addthis:url="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" addthis:title="Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)">More</a>^J</div>^J^J<div style="margin: 5px 0; clear: left;">^J    <a href="http://secure.sjgames.com/ill/archive/June_20_2021/My_Dice_Tower_Or_When_The_Imperfect_Is_Perfect" class="small">Permalink</a> &bull;^J    <a href="/ill/archive/" class="small">Archive</a> &bull;^J    <a href="/ill/illsotw/" class="small">Illuminated&nbsp;Site&nbsp;of&nbsp;the&nbsp;Week</a>^J</div>^J', 'pagetitle', 'Daily Illuminator: My Dice Tower (Or, When The Imperfect Is Perfect)', 'mobile', 0, 'description', 'I have a lot of top-notch gaming equipment. But there&#39;s a value in having less-great stuff, too, especially if you travel, do conventions, etc . . .') called at /home/www/secure/ill/index.html line 4
HTML::Mason::Commands::__ANON__('month', 'June', 'day', 20, 'year', 2021, 'u', undef) called at /usr/local/share/perl/5.14.2/HTML/Mason/Component.pm line 135
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x7f93c8ba4c30)', 'month', 'June', 'day', 20, 'year', 2021, 'u', undef) called at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 1302
eval {...} at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 1292
HTML::Mason::Request::comp(undef, undef, 'month', 'June', 'day', 20, 'year', 2021, 'u', undef) called at /home/www/secure/ill/archive/dhandler line 3
HTML::Mason::Commands::__ANON__ at /usr/local/share/perl/5.14.2/HTML/Mason/Component.pm line 135
HTML::Mason::Component::run('HTML::Mason::Component::FileBased=HASH(0x7f93c7f0cf60)') called at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 1297
eval {...} at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 1292
HTML::Mason::Request::comp(undef, undef, undef) called at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 481
eval {...} at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 481
eval {...} at /usr/local/share/perl/5.14.2/HTML/Mason/Request.pm line 433
HTML::Mason::Request::exec('HTML::Mason::Request::ApacheHandler=HASH(0x7f93c6c7b9f8)') called at /usr/local/share/perl/5.14.2/HTML/Mason/ApacheHandler.pm line 168
HTML::Mason::Request::ApacheHandler::exec('HTML::Mason::Request::ApacheHandler=HASH(0x7f93c6c7b9f8)') called at /usr/local/share/perl/5.14.2/HTML/Mason/ApacheHandler.pm line 825
HTML::Mason::ApacheHandler::handle_request('HTML::Mason::ApacheHandler=HASH(0x7f93c7be5610)', 'Apache2::RequestRec=SCALAR(0x7f93c6ea0fa8)') called at (eval 29) line 8
HTML::Mason::ApacheHandler::handler('HTML::Mason::ApacheHandler', 'Apache2::RequestRec=SCALAR(0x7f93c6ea0fa8)') called at -e line 0
eval {...} at -e line 0