Thread: calling perl program within a cgi script with parameters from html form

calling perl program within a cgi script with parameters from html form

From
Deepblues
Date:
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
>  

Re: calling perl program within a cgi script with

From
Frank Bax
Date:
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.