Thread: calling perl program within a cgi script with parameters from html form
I have a problem linking my cgi script to the perl function.
I have perl functions to perform manipulations to the database.
I am creating a web front end to it. I have a html form which accepts data from the user and calls the cgi script ( in perl)which processes this data , performs validation and passes the form data as parameters to a perl program. My cgi script seems to work fine as far as processinng goes. My perl program works too. But I am not able to call the perl program from the cgi script. I am tryin to test the main perl program by having lots of HTML output statements. but it doesn't appear on the webpage.
suppose my form values are stored in variables
$a = param('name')
$b = param('age')
Now I need to call a perl function wth $a, $b as parameters.
My $string = "perl test.pl $a $b"
system($string)
This is wht I am using now. when I try eg: perl test.pl john 12 It works. And the variables are bnided properly in cgi script. I cheked to make sure. Can anyone suggest how i should proceed.
Thanks in advance
Deepblues
This isn't really the right email list for this question. Try this list instead (to which I have moved the discussion). beginners-cgi@perl.org However, this likely has to do with privileges to execute your perl script. In the last couple of days, the beginners-cgi list has answered your question at least twice. Remember, the webserver (typically) runs a different user than you, so it may not have the rights to execute the script. Also, calling a perl program from a perl CGI script is probably NOT the best way to accomplish the task you are trying to accomplish. You should probably read up a bit on database access from CGI scripts and try an example or two. Sean On Apr 26, 2005, at 9:25 AM, Deepblues wrote: > I have a problem linking my cgi script to the perl function. > I have perl functions to perform manipulations to the database. > I am creating a web front end to it. I have a html form which accepts > data from the user and calls the cgi script ( in perl)which processes > this data , performs validation and passes the form data as parameters > to a perl program. My cgi script seems to work fine as far as > processinng goes. My perl program works too. But I am not able to call > the perl program from the cgi script. I am tryin to test the main perl > program by having lots of HTML output statements. but it doesn't > appear on the webpage. > > suppose my form values are stored in variables > $a = param('name') > $b = param('age') > > Now I need to call a perl function wth $a, $b as parameters. > My $string = "perl test.pl $a $b" > system($string) > > This is wht I am using now. when I try eg: perl test.pl john 12 It > works. And the variables are bnided properly in cgi script. I cheked > to make sure. Can anyone suggest how i should proceed. > > Thanks in advance > Deepblues >
At 09:25 AM 4/26/05, Deepblues wrote: >I have a problem linking my cgi script to the perl function. >I have perl functions to perform manipulations to the database. >I am creating a web front end to it. I have a html form which accepts data >from the user and calls the cgi script ( in perl)which processes this data >, performs validation and passes the form data as parameters to a perl >program. My cgi script seems to work fine as far as processinng goes. My >perl program works too. But I am not able to call the perl program from >the cgi script. I am tryin to test the main perl program by having lots of >HTML output statements. but it doesn't appear on the webpage. > >suppose my form values are stored in variables >$a = param('name') >$b = param('age') > >Now I need to call a perl function wth $a, $b as parameters. >My $string = "perl test.pl $a $b" >system($string) > >This is wht I am using now. when I try eg: perl test.pl john 12 It >works. And the variables are bnided properly in cgi script. I cheked to >make sure. Can anyone suggest how i should proceed. > >Thanks in advance >Deepblues An error message from your logs would have been helpful; otherwise its just guessing. In fact, if you had bothered to read your log files, you likely could have figured it out yourself. As long as I bother to reply, I might as well guess at an answer. My guess is that test.pl is not found in the "current directory" when your cgi is executed from within webserver. Try specifying full path.