This is really strange, but I'm not quite sure how to explain it. I have a project (full source available at Flame's scratchpad *the school project listing*) and I use Apache::Request on it. Now I've been using Apache::Request's param method to get the current params, however I'm running into a bit of difficulty now that I am using one paramater with multiple values. Now around line 113 I convert the params to a hash using the following:
my %ARGS; { #Localize @temp since I won't need it later my @temp = $state->{'r'}->param(); foreach (@temp){ $ARGS{$_} = $state->{'r'}->param($_); } }
This has worked up till now, when I needed that second value. I attempted, where I needed it (roughly line 985, the sub browse), to use the following:
my @schedules = $state->{'r'}->param('browseselect'); return qq~<tr><td>~.Dumper(@schedules).qq~</td></tr>~;
As a simple test to see that it could get these values out, however when I attempt this, the apache thread seems to lock up. As a further experement I changed the initial setup of the %ARGS hash to this:
my %ARGS; { my @temp = $state->{'r'}->param(); foreach (@temp){ $ARGS{$_} = (scalar(@{ [$state->{'r'}->param($_)] }) > 1 ? [$ +state->{'r'}->param($_)] : $state->{'r'}->param($_)) ; } }
After this change, suddenly everything is working and yielding the expected results. So I now find myself wondering why the difference. I admit this is poorly described here, I'm not sure I fully understand my question myself, but I'm really confused here. Thanks for any assistance you can give.
My code doesn't have bugs, it just develops random features.
In reply to Apache::Request and param($x) infinite loop? by Flame
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |