Have a look at this: http://www.perl.com/pub/a/2002/05/07/mod_perl.htmlPerrin is probably right that it's a closure issue. Take a good look at your code.
Incidentally, I've found it useful to do a Google search on incomprehensible error messages ..:)
d CraigT wrote:
Perrin, I'm not sure I'm communicating very well. And I'm not sure I understand what you said. Let me outline what I'm experiencing again. I have a page with multiple anchors. I saw this problem immediately with 3 of these anchorswhen I invoked the page under perl-run (PerlRun). The 3 anchors follow. I've left the off on purpose so the anchor will show.CLASS='zzz tn' HREF='dashboard.cgi?str=$govlevel:3' ONMOUSEOVER=\"window.status='$glines[2] Key Indicators';return true\"ONMOUSEOUT=\"window.status=' ';return true\">Dashboard</values passed = $govlevel:3 = SKY:3 CLASS='l2' HREF='ss.cgi?str=$govlevel' ONMOUSEOVER=\"window.status='SightsAnd Sounds Of $glines[0]';return true\" ONMOUSEOUT=\"window.status=' ';return true\">Sights/Sounds</values passed = $govlevel = SKY CLASS='l2' HREF='vumenu.cgi?str=$govlevel~$vufiles' ONMOUSEOVER=\"window.status='Special Interest, Measure Views';return true\" ONMOUSEOUT=\"window.status=' ';return true\">Special Views</ values passed = $govlevel~$vufiles = SKY~C:/Steep/USA Data/State/KY/birth.view!C:/Steep/USA Data/State/KY/children.view!C:/Steep/USA Data/State/KY/children2.view!C:/Steep/USA Data/State/KY/children3.view!C:/Steep/USA Data/State/KY/children4.view!C:/Steep/USA Data/State/KY/healthybirths.view!C:/Steep/USA Data/State/KY/healthybirths2.view!C:/Steep/USA Data/State/KY/infantdeaths.view!C:/Steep/USA Data/State/KY/infantdeathsin3counties.view!C:/Steep/USA Data/State/KY/infantsmothers.view In each of the modules, I bring 'str' across with something like my $somevar = $page->param("str") assigning the paramter values to a declared Perl variable. And I do use strict everywhere. I then work with those paramters in the module invoked by the anchor. But the issue isn't about working with what gets passed into the module invoked by the anchor. I don't get that far. The problem is that what is coming across from the invoking module to the invoked module is incorrect. Notice that the paramters being passed to each of the 3 different physical modules are passed after being assigned to the variable 'str'. If I execute any of the 3 anchors first, setting and passing 'str', and then invoke any of the other 2 anchors, the value of 'str' set in the first invocation persists such that the invocation of the other 2 anchors has the 'str' values from the first invocation. The value of 'str' will not change after that first anchor execution until I recycle the server. The first anchor I executed keeps working and the other 2 keep getting passed the 'str' values from the first anchor execution and don't work. Also, I changed the name of 'str' to something unique in each of the 3 anchors and anchor modules. When I do this, regardless of which one I execute first, the first one works and then the other 2 pass nothing. And again, it works fine under CGI. This code has worked correctly under CGI ever since it was written. I've verified that under the perl-run execution the Perl variables assigned to'str' in all 3 anchors have the correct values before I execute the anchors. And I've verified the values in 'str' that come across when I invoke theanchors right after the $somevar = $page->param("str") line in each of the physical modules. Regardless of which of these anchors I invoke first, invoking either of the remaining 2 anchors results in the values of 'str' set in the 1st anchor executed being passed to the modules that the remaining 2 anchors execute. Also, the ENV variables I had in my scratchpad where mistakenly executed under CGI. When I printed the ENV stuff executed under perl-run (PerlRun), MOD_PERL is there. You can see the perl-run ENV stuff by invoking thefollowing URL.http://steepusa.no-ip.info/perl-run/stuff/prtenv.cgi I would like to understand better the 'no longer shared' message in the error log. I hope this is clearer. I am sort of at a loss here. I live in a small rural town in the foothills of the Appalachian Mountains and I have found nocommunity here to bounce these kinds of things off of. I've dealt with a lot of bugs over the years in a variety of languages andthis one seems strange. Can you make any suggestions on how I might proceed here. The Apache 'ab' modules tells me I can improve the # of request per second that my server can server by a facor of 3 and I would like to do itif I can.CraigT Perrin Harkins wrote:[Please keep it on the list] On 7/3/07, Craig Tussey <suppressed> wrote:Thanks again for responding. Here is the link to my scratchpad. Keep in mind that I was making entries to the scratchpad in response to Clintons questions. http://www.perlmonks.org/?viewmode=public;node_id=624649Okay, you really aren't showing much code here. From what you did show, I'm guessing you're doing this: my $govlevel = $page->param("str"); print_html(); sub print_html { print "blah blah $govlevel blah blah"; } That doesn't work because the sub becomes a closure and never notices when you create new versions of $govlevel. The fix is to pass $govlevel to the sub as a parameter. - Perrin
Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.