Executing Local Script

Very simple question here...  When the user presses on the submit button on my form, I would like to pass the form information to a perl script which is located in the same directory as the .HTML page on the user's computer.  I have no way of knowing what that directory is...  All I know is that the .HTML and the .PL files are in the same directory.

Here's the "ACTION" statement that I've tried, among other things...  Why doesn't it work?

ACTION=".\getform.pl"

I only give the ACTION because I'm pretty sure everything else is OK.  I'm almost positive that the problem has to be in that statement.

Thanks in advance,

COlin
colindAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

icdCommented:
The most likely reason is that the server is set up so that scripts and html documents cannot be in the same directory.

Usually cgi scripts are limited to running in a separate directory tree starting in 'cgi-bin'.

It is possible to set up the server to allow cgi-scripts to run from any directory. This is considered to be less secure than the more normal method. Note however that Experts Exchange seems to be set up this way! Check with your system administrator.

If this is not possible it might be possible to do what you want using relative or absolute addresses.

Relative...  "../../cgi-bin/getform.pl"
Absolute...  "/cgi-bin/getform.pl"

The first will work from any first level directory on your site, the second will work from any directory on your site.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
colindAuthor Commented:
It is not running on any server.  Essentially, I have a program in PERL that is meant to be run from a user's hard-drive, completely independant of the internet.  I'm using CGI so that my program can have a pretty .HTML interface instead of the ugly command line interface.

I'll try creating a directory called cgi-bin and storing my scripts there but it seems to me that there should be a way to have an .HTML file which calls a script in the same directory.

Can you suggest anything else?

Colin
0
colindAuthor Commented:
Oh, I forgot to add that I don't know the name of the directory that this script and .HTML file are going to be store in, so I don't think "../../cgi-bin/getform.pl" would work.  Isn't that relative idea the same as putting "./getform.pl" with "." being the current directory.

Colin
0
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

icdCommented:
Ah, I see.

To run scripts you have to have a server. I do something similar on my PC because I test my web site before I upload it. To run scripts (on a PC) you need PWS (Personal/Peer Web Server) from Microsoft. You presumably already have the perl interpreter.

It is possible (I think) to run scripts from the same directory as the documents if it is installed correctly.

If you don't like the idea of installing PWS (since you persumably want to run this program on your customers PC's) then I am afraid that there is no alternative. Although standard HTML can be run from 'open file' menu of your browser there is no way to run scripts from the local file system. If you try to run a script you will just get the contents of the script sent to the screen.

0
colindAuthor Commented:
Well, that really sucks.  Yes, my plan was to "compile" my script using Perl2exe.exe (to make a stand-alone executable) then to use a .HTML file for my interface.  I'll give you the points but can you suggest another alternative to having the command line interface?  Are there any PERL modules that can offer me a Windows interface with message boxes and all that fun stuff?

Thanks again,

Colin
0
icdCommented:
You problem is one I have given much though to myself since I had a similar application some months ago. In all that time I have not seen or come up with an easy solution.

I have however seen a company that distributed data on CD-ROM. The provided their own browser and ISTR that they could run scripts or executables. Writing your own browser however is a big and pointless job.


0
colindAuthor Commented:
At the same time that I posted that last comment, I posted a question in the PERL area and got an answer from nanulnet.  Check out the following URL...  It looks like it will give us access to the Win32 API.


http://194.247.167.1/DADA/PERL/API/index.sht 
0
icdCommented:
Thanks for feedback on that approach. My problem was that I *must* use HTML and a web browser (since that is platform independent etc). Your problem is not that you must use HTML but that you must run your perl script. The answer by nanulnet would seem to solve your problem of what interface to use. I hope it solves your problem.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Scripting Languages

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.