Here's the relevant snippet having errors:
my %Pages = (
'Login' => \&validateAccount,
'Create Account' => \&createAccount,
'User Options' => \&userOptions,
'View Flashcards' => \&displayCards,
);
if ( !$q->param ) {
loginPage();
}
elsif ($q->param('action')) {
my $page = $q->param('action');
$Pages{$page}->();
}
else {
noSuchPage();
}
When
PerlJam sends an action parameter with the 'displayCards' value, he gets uninitialized value errors in the $Pages{$page} call.
My solution would be to say:
my $action = $query->param('action');
if (exists $Pages{$action}) {
$Pages{$action}->();
} else {
noSuchPage();
}
This would reveal that there's no key in %Pages named 'displayCards'. Instead, it's 'View Flashcards'. :)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.