Hey,
I've been using simple CGI scripts to make some things on my website
require less human touch and some of them require mysql database
connection. I've started with only one such scripts but now there are
more so I've decided to move the connection data (table name, database
name, username, password) to a separate .pm file which I could include
in the other .cgi scripts. However, I don't seem to be able to use the
functions and/or variables in this .pm module and I have no idea what is
wrong. Let me give you a simple example of what works and what doesn't
and I would really appreciate any help.
<file mydbtest.pm>
package dbredwings;
my $platform = "mysql";
my $database = "dbplayers";
my $host = "localhost";
my $tablename = "players";
my $user = "player";
my $pw = "pass";
sub printout {
print shift;
}
sub get_platform {
print $platform;
}
1;
</file mydbtest.pm>
<file properscript.cgi>
require 'mydbtest.pm';
print "Content-type: text/html\n\n";
&mydbtest::printout('hey hey'); # (1)
&mydbtest::get_platform; # (2)
print $mydbtest::platform; # (3)
</file properscript.cgi>
(1) works without any problems. I get the proper output in my browser
window.
(2) doesn't work at all. I get an error as follows:
Undefined subroutine &mydbtest::get_platform called at
E:/webdev/perl/properscript.cgi line 42.
(3) prints an empty string
Also, I get an error message saying that the .pm file can't be found
when I place it in the same directory as the .cgi files. I have to move
it to a directory in the @INC array when I run it through the server.
However, when I run it locally, from the command line, everything works
just fine. This makes me think that there is something in the Apache
config that I have to do in order for all this to work but I don't know
what that is.
I'm running ActivePerl 5.10.1 with Apache2.2 with mod_perl.
Alias /perl "E:\webdev\perl"
<Location /perl>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
Options +ExecCGI
PerlOptions +ParseHeaders
</Location>
ScriptAlias /cgi-bin/ "E:/webdev/perl/cgi-bin/"
Cheers,
palo
--
To unsubscribe, e-mail: beginners-cgi-unsubscr...@perl.org
For additional commands, e-mail: beginners-cgi-h...@perl.org
http://learn.perl.org/