1. In HTTP, the headers and content are separated by an empty line. The "Location:" bit is supposed to go in the header, but because you have a "\n\n" printed out before it, it ends up in the content, and doesn't have the desired effect. I think you already figured this part out.

2. To show something on the browser AND send data to another URL is not something usually done with a redirect. For a server-side solution using Perl, look into http://search.cpan.org/perldoc?LWP instead (lots of documentation and examples if you look around).

3. Another option is AJAX, which is done through Javascript (not Perl). Some find this simpler, but it does rely on client-side technology, which has its drawbacks.

I need to replace all the Capitalized words with the pertinent information: The sender's number, the recipient's number, etc.

If I cannot place the "Location" bit below the extra line
caused by "\n\n" , is there a system call that can be used in this case..?? someone suggested: system("wget") but I dont have the complete construct of this line.

Why don't you make that form-processing script send a request to this other URL and process the response fomr that one? Why do you explicitly print a header in your script and not use the CGI.pm 'header' method?

As suggested previously, you can use LWP::Simple to send your stuff and capture the response from the remote server, which might tell you if the message has been sent successfully if that service is well implemented. If you do get a "receipt" then it will probably be in XML format and you will then want to use a module that helps you with parsing the XML, something like XML::Simple (there are many options).