![]() |
|
|
|||||||
![]() |
PERL - How to make Perl Script "POST" call from another Perl Script??? |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
I am passing data to a putcart.pl , parsing it, then building the query
string to put the item in the shopping cart: $cartStr = http://www.domain.com/cgi-bin/cart.p...456&price=5.00 $co = new CGI; print $co->redirect($cartStr); print $co->start_html; $co->end_html; This works fine except that I need to pass book titles with "&" ( Bears & Cows ==> Bears+&+Cows ===> does NOT work) and &Stk needs to be "# D123456" (&Stk=#+D123456 ===> does NOT work) . It bombs when I try to pass "&" or "#" in the query string. 1) Is there any way I can redirect or call a perl script from another perl script using "POST" so I do not have to deal with the & or # mess (or the + signs for spaces). 2) If #1 is No, How do I pass "&" and "#" in a header query string. I could not make %26 work for & and found no % equivalent for #. Thanks so much. Lynn Wet Basement |
|
|
|
|
#2 |
|
Posts: n/a
|
> I am passing data to a putcart.pl , parsing it, then building the query
> string to put the item in the shopping cart: > $cartStr = > http://www.domain.com/cgi-bin/cart.p...456&price=5.00 > > This works fine except that I need to pass book titles with "&" ( Bears & > Cows ==> Bears+&+Cows ===> does NOT work) and &Stk needs to be "# D123456" > (&Stk=#+D123456 ===> does NOT work) . It bombs when I try to pass "&" or > "#" in the query string. You might consider rethinking your approach to the problem. We save the users shopping cart information to a local database. Then we only need to pass the record number for the database entry as part of the calling string or insert it into a new form on the generated page. This allows state to travel with the page and prevents the possibility someone would edit the string to change the price. It also solves the problem of passing book titles as part of the string by saving the information elsewhere. If you want to stick with your current approach, use subsitutions for the characters you are trying to replace -- _AMP_ or _HASH_ You can use a simple regex to put them into the string and a simple regex to put them in and pull them out. |
|