maha
asked on
Strange problem .. Help
Hi folks,
I am facing a strange problem. I would appreciate if u can help me finding what I am doing wrong. I am writing a cgi program using CGI.pm. I am reading a parameter value by executing GET from the browser and executing a query with the value.
It is like http://myserver/cgi-bin/test.cgi?contactID='CT0001'
My program looks like,
/************************* ********** *****
$myCgi = new CGI;
$contactId = $myCgi -> param('contactID');
chomp($contactId);
# if contact id is empty, show error message and return
if($contactId == "")
{
Util::showError("Contact ID $contactId cannot be blank");
exit ;
}
************************** ********** *******
So here I am checking whether the value is passed or not. Initially the contact id field was numeric and I used to pass
http://myserver/cgi-bin/test.cgi?contactID=001
It used to work fine, but when I started sending CT0001, it executes the showError routine even though I have passed contact Id properly. Even in the showError subroutine, I am trying to print the $contactId, it is printing properly as CT0001. But logically, it should not execute the showError subroutine.
What am I doing wrong here ?? Is ( if ( $contactId == "") is not a valid check for empty string value ?? Why it is working for numeric and not alphanumeric ??
Thanx in advance,
Maha
I am facing a strange problem. I would appreciate if u can help me finding what I am doing wrong. I am writing a cgi program using CGI.pm. I am reading a parameter value by executing GET from the browser and executing a query with the value.
It is like http://myserver/cgi-bin/test.cgi?contactID='CT0001'
My program looks like,
/*************************
$myCgi = new CGI;
$contactId = $myCgi -> param('contactID');
chomp($contactId);
# if contact id is empty, show error message and return
if($contactId == "")
{
Util::showError("Contact ID $contactId cannot be blank");
exit ;
}
**************************
So here I am checking whether the value is passed or not. Initially the contact id field was numeric and I used to pass
http://myserver/cgi-bin/test.cgi?contactID=001
It used to work fine, but when I started sending CT0001, it executes the showError routine even though I have passed contact Id properly. Even in the showError subroutine, I am trying to print the $contactId, it is printing properly as CT0001. But logically, it should not execute the showError subroutine.
What am I doing wrong here ?? Is ( if ( $contactId == "") is not a valid check for empty string value ?? Why it is working for numeric and not alphanumeric ??
Thanx in advance,
Maha
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Glad to be of help to you.
i would suggest you start with...
Learning Perl, 2nd Edition
By Randal L. Schwartz & Tom Christiansen Foreword by Larry Wall
2nd Edition July 1997
1-56592-284-0, Order Number: 2840
302 pages, $29.95
you can get better deals if you search on the NET.
======================
Specifically for Regular Expressions you can use...
Mastering Regular Expressions
Powerful Techniques for Perl and Other Tools
By Jeffrey E. F. Friedl
1st Edition January 1997
1-56592-257-3, Order Number: 2573
368 pages, $34.95
you can get the Table of Contents at ...
http://www.oreilly.com/catalog/regex/toc.html
Hope that helps
i would suggest you start with...
Learning Perl, 2nd Edition
By Randal L. Schwartz & Tom Christiansen Foreword by Larry Wall
2nd Edition July 1997
1-56592-284-0, Order Number: 2840
302 pages, $29.95
you can get better deals if you search on the NET.
======================
Specifically for Regular Expressions you can use...
Mastering Regular Expressions
Powerful Techniques for Perl and Other Tools
By Jeffrey E. F. Friedl
1st Edition January 1997
1-56592-257-3, Order Number: 2573
368 pages, $34.95
you can get the Table of Contents at ...
http://www.oreilly.com/catalog/regex/toc.html
Hope that helps
ASKER
Actually I found the solution ( use of eq) and it worked. So I did delete this question . I donot understand how it has reappeared again. ANyway thanx for your time and so I accept your answer.
I am new to perl and learning it as I use. Can u recommend good book for regular expressions in perl ??
Maha