I've got a script (hello.pl from the Eagle book).
It runs succesfully once and generates 500 errors.
So I dig around and find this in the errors:
[Sun Jan 9 15:26:38 2000] [error] Can't upgrade that kind of scalar at
/usr/lib/perl5/site_perl/5.005/i386-linux/Apache/Registry.pm line 32.
HMM. Well, I am not skilled enough to want to hack Registry.pm nor am I
familiar with the concept of upgrading a scalar. I have read Stas' guide
and he talks about "use diagnostics;" Now when things go bad, I get a
longer explanation:
[Sun Jan 9 15:40:07 2000] [error] Uncaught exception from user code:
Can't upgrade that kind of scalar at
/usr/lib/perl5/site_perl/5.005/i386-linux/Apache/Registry.pm line 32.
Apache::Registry::handler('Apache=SCALAR(0x81a782c)') called at
/dev/null line 0
eval {...} called at /dev/null line 0
HMM. dev null? line zero? Am I loosing my mind?
I would appreciate it if someone could help me in the right direction.
I'm running RedHat/Apache HTTPSD with mod_perl, does anyone know if
thats a problem?
[root@melanie /root]# telnet melanie.jsw4.net 80
Trying 216.207.143.5...
Connected to melanie.jsw4.net.
Escape character is '^]'.
GET /index.html HTTP/1.1
Host: roc.jsw4.net
HTTP/1.1 200 OK
Date: Sun, 09 Jan 2000 20:57:18 GMT
Server: Red Hat Secure/3.0 (Unix) mod_perl/1.19
Last-Modified: Sun, 05 Dec 1999 16:28:37 GMT
ETag: "1803-797-384a92b5"
Accept-Ranges: bytes
Content-Length: 1943
Content-Type: text/html
<HTML> ...
The snips from httpsd.conf (This is in a virtual host section, could
that be a problem?)
<IfModule mod_perl.c>
Alias /perl/ /home/roc/perl/
PerlTaintCheck On
<Location /perl>
SetHandler perl-script
PerlHandler Apache::Registry
PerlSendHeader On
Options +ExecCGI
</Location>
</IfModule>
And finally the script: hello.pl (As I mentioned, this is copied fairly
faithfully from the eagle book.)
#!/usr/bin/perl -w
use CGI qw(:standard);
use diagnostics;
use strict;
# use vars qw($name);
my $realname = param('realname') || 'Anonymous';
print header(),
start_html(-title=>'Hello',-bgcolor=>'blue'),
h1("Hello $realname"),
p(
"To change your name, enter it into the text field below and
press",
em("change name.")
),
start_form(),
"Name:
",textfield(-name=>'realname',-value=>'Anonymous'),
submit(-value=>'Change name'),
end_form(),
hr(),
end_html();
Any help would be appreciated. Thanks,
John