http://www.perlmonks.org?node_id=1087110


in reply to unable to pass data

There are few mistakes that should be corrected in your scripts. Your CGI script should receive through the param() function the information sent from your first script that is parsing the xml file. Your xml parse is ok, I tested:
Platon$ ./t-pass-data.pl Frank Sanbeans 3/10 frank@example.com Sandy Sanbeans 4/15 sandy@example.com
Your CGI script should be the one you call from this:
my $server_endpoint = "http://localhost/cgi-bin/stackoverflow_in.cgi";
stackoverflow_in.cgi should be the name of your second perl file. This code is wrong:
my $sth = $dbh->prepare(qq{INSERT INTO cust_details.c_details(f_name,l +_name,dob_email) VALUES ('$customer->{first_name}->[0]','$customer->{ +last_name}->[0]','$customer->{dob}->[0]','$customer->{email}->[0]')}) +;
You should use the param() function go get the passed data from the first program. You don't have access to $customer->{last_name}... here! You could pass data in the first script with names like
my $firstname = param('firstname'); my $lastname = param('lastname');
And then get it to the second CGI script for the insert in sql.