Automatically Running a Script From Within a Web Page


It's very simple to run a script (for example, a CGI script) by clicking a button in a form:

(Note that in the code snippets in this article, square brackets are used instead of angle brackets.)

[Form name = "form1" method = "post" action = "/ cgi-bin / updatePage.cgi"]



[/ Form]

Sometimes, however, you might need to run a script automatically from within an HTML page, without requiring the user to perform an action. You might want to do this if, for example, you have one or more variables that have been generated perhaps by another script, which you need to process without user interaction.

If you insert the following code into an HTML page, the script (in our case, updatePage.cgi) will be automatically executed when the web page is loaded into a browser.

[Img src = "/ cgi-bin / updatePage.cgi" height = "1" width = "1"]

In order to ensure that a broken link is not generated by the cgi script itself, include the following code in the script.

print "Content-type: image / gif";

open IN, 'image.gif' or die "Can not open: $!";

binmode IN;

print while;

close IN;

There also needs to be an image called image.gif in the same directory (cgi-bin) as the cgi script.

I often use this technique automatically perform certain text processing activities in my content management systems. For example, I might have one or more ASCII files that need to be automatically updated at the end of an operation, but I do not want to force the user to click, for example, an update button.


Leave a Reply