develooper Front page | perl.macperl.webcgi | Postings from April 2003

Re: [MacPerl-WebCGI] Dumb newby question

Thread Previous
From:
David Steffen
Date:
April 19, 2003 08:53
Subject:
Re: [MacPerl-WebCGI] Dumb newby question
Message ID:
09C40FDF-727F-11D7-93E8-00039364267A@biomedcomp.com
>> At 19:09 +1000 04/19/2003, Wayne Irvine wrote:
>>
>> I've got a WebStar 4.5 server (G4 OS 9.1) and today I installed 
>> MacPerl
>> (using an installer. Not making or compiling).
>>
>> I installed MacPerl to run SimpleForum. I've since opened SimpleForum 
>> in
>> MacPerl and saved it as a self executable MacPerl file. When I 
>> trigger the
>> CGI from a web browser I just get 'Error executing CGI application.'
>>
>> http://www.byteserve.com.au/simpleforum/simpleforum.cgi
>>
>> Can anyone tell me what I'm doing wrong?

> On Saturday, April 19, 2003, at 10:15 AM, Bill Becker wrote:
>
> I believe, although I've not done it personally, that there is an 
> option in the "save-as" dialog to save a script as a CGI?
>
> You also have to make certain it's in the correct folder.

I believe you are correct.  It has been a long time since I have been a 
regular participant in this list and even longer since I have had an 
actively involvement with MacPerl CGIs (though I am still running a 
very old WebSTAR/OS8/MacPerl5.004 server) but I think the following is 
still probably accurate:

http://www.perlmonth.com/perlmonth/issue11/mac_perl.html

A small excerpt from that article:

---=== Begin Excerpt ===---

Mechanics of Running MacPerl CGI scripts

A CGI script for MacPerl is usually identical to a *nix CGI script; 
most *nix CGI scripts will run without modification under MacPerl and 
the ever popular CGI.pm module is just as useful on the Mac as it is on 
*nix.

To run a Perl script as a CGI on a Mac, you will need to have both 
MacPerl and a Web server installed on your Mac, and have TCP/IP 
properly set up, all of which are beyond the scope of this article. I 
have personally used the MacHTTP/WebSTAR, Quid Pro Quo, and Personal 
Web Sharing web servers and they all work fine. I suspect that most Mac 
HTTP servers will work as well.

There are some differences in interaction between different web servers 
and MacPerl, as well as different versions of Mac OS, so your 
experience may vary a little from what's written here. I will try to 
point out places where I suspect such variability to lurk, but be aware 
that my current experience is with Quid Pro Quo running under Mac OS 
8.1. Since Quid Pro Quo is free, currently being supported, available 
via the web [2], and seems to garner mostly favorable reviews, you 
might want to give it serious consideration.

The MacPerl interpreter comes in two forms; one which can be run with 
MPW and/or toolserver and one which is a stand-alone application. The 
stand-alone application is typically used for writing MacPerl CGI 
scripts and will be the form of MacPerl discussed here.

If MacPerl is installed properly on your Mac, you will have four 
options when you save a Perl script from the MacPerl application:

1.	Plain text
2.	CGI Script
3.	Droplet
4.	Runtime version

You must save your script as CGI script to run it as a CGI on a Mac. 
This is a major difference between MacPerl and *nix Perl, and is 
perhaps the most common difficulty people have when they first start 
trying to use MacPerl for CGI scripts. On the other hand, if you are 
prototyping a CGI script on a Mac which is eventually going to run on a 
*nix server, you must save a copy as Plain Text before transferring it 
to the *nix system; the CGI Script form will be useless to a *nix-based 
perl.

Your Web server may have to be configured to use CGI scripts, may have 
a particular location on the disk where it wants the CGI scripts, and 
may have conventions as to how it wants the CGI scripts named. Using a 
default installation of the latest version of Quid Pro Quo (2.1), you 
select a Folder on your Macintosh to contain the entire website and 
create a folder therein named "cgi-bin" in which all CGI programs and 
scripts must reside. They must also be named with a .cgi extension 
(foobar.cgi, perlscript.cgi, etc.) or a .acgi extension. For now, you 
should name all your MacPerl CGIs with the .cgi extension; the 
difference between .cgi and .acgi will be discussed in a later column.

Given the above assumptions, you create your Perl script using any text 
editor or the MacPerl application, or you can download a CGI script 
from your *nix server. You then open it with the MacPerl application 
and save it as a CGI Script into the cgi-bin folder of the root folder 
of your Web server. You should now be able to access it with the URL:

http://example.org/cgi-bin/your-script-name.cgi

You do not need to have either your CGI Script or MacPerl running; the 
Web server will start them automatically.

---=== End Excerpt ===---

-David Steffen-


Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About