The immediate problem is that $rec_type and $y_label need to be global to the if/elsif code. If you have access to Perl 5.10.x however you can use given/when to clean up the code somewhat. Consider:
use strict; use warnings; use 5.010; my $rec_type; my $y_label; given (param('P1P2_bugs')) { when ('P1') { $rec_type = '3'; $y_label = 'Open P1 Bugs'; } when ('P2') { $rec_type = '4'; $y_label = 'Open P2 Bugs'; } when ('P1-P2') { $rec_type = '2'; $y_label = 'Open P1-P2 Bugs'; } when ('Daily-Snapshot') { $rec_type = '1'; $y_label = 'Daily-Snapshot'; } default { die "Unrecognised parameter type: $_\n"; } }
Note that the two variables that are being set are global to the given block and that there is a default handler for unexpected results from param.
In reply to Re: if else condition not assigning value when using my
by GrandFather
in thread if else condition not assigning value when using my
by rakheek
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |