I have a simple perl script as follows which gets a users id number by
looking in a file.  It already knows the username and uses this to reference
to the id.
The file is in the format:

jbloggs,101
jdoe,103
msmith,111
etc...

The code i'm using is:

#!/usr/local/bin/perl

my $hashfile = "/opt/netcool/webtop/config/cgi-bin/hl_of_user.txt";
my $username = 'mustoj';

open (USERFILE, $hashfile) || die "Couldn't open hash file: $!\n";

while(<USERFILE>)
{
chomp;
($key, $data) = split /,/, $_; # or whatever you have to split on
$userlookup{$key} = $data;
}

my $usernum = $userlookup{$username};

print "User Name = $username\nUserID = $usernum\n";
Now this works fine as a perl script, but when i put this in a perl cgi
script and try to output the values in html the user id is blank.
I get the output:
User Name = mustoj User ID =

Does anyone have any idea's on what could be causing this, or can anyone
think of a more efficient way of looking up the user id from this file??
Any help would be much appreciated, i've included the cgi script below.

the url is /cgi-bin/sis_home.cgi?un=mustoj, which is how i'm passing the
username in.

#!/usr/local/bin/perl
#
# script name: sis_home.cgi
#


use CGI qw(:standard);


my $q = new CGI;
my $username = $q->param("un");
open (FH,"<hl_of_users.txt");


while(<FH>)
{
chomp;
($key, $data) = split /,/, $_; # or whatever you have to split on
$userlookup{$key} = $data;
}
my $usernum = $userlookup{$username};

#print the html
print "Content-type: text/html\n\n";
print <<__HTML__;
<HTML>
<HEAD>
<TITLE>
Simple Program
</TITLE>
</HEAD>
<BODY>
User Name = $username UserID = $usernum
__HTML__
print <<__HTML__;
</BODY>
</HTML>
__HTML__



Jonathan Musto



BT Ignite Solutions
Telephone - 0113 237 3277
Fax - 0113 244 1413
E-mail - [EMAIL PROTECTED]
http://www.technet.bt.com/sit/public <http://www.technet.bt.com/sit/public> 


British Telecommunications plc
Registered office: 81 Newgate Street London EC1A 7AJ
Registered in England no. 1800000
This electronic message contains information from British Telecommunications
plc which may be privileged or  confidential. The information is intended to
be for the use of the individual(s) or entity named above. If you  are not
the intended recipient be aware that any disclosure, copying, distribution
or use of the contents of  this information is prohibited. If you have
received this electronic message in error, please notify us by  telephone or
email (to the numbers or address above) immediately.

Reply via email to