Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 163
  • Last Modified:

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
0
colind
Asked:
colind
  • 4
  • 4
1 Solution
 
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
 
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
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
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

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now