Navigation Map

Help Desk Home

Homebuilder

Network Operations Center

Uploading
References
Trouble Shooting
Special Characters

Counters
Forms
Password Control
RealAudio
Imagemaps
Mime Types
Web Stats

CGI Basics
Custom CGI
File Permissions
SSI's
Java!
MySQL
PHP(3)
Custom Errors
Virtual Domain FAQ
Secure Server Info

IO Web Helpdesk - Custom CGI script tips


Where is Perl?

Perl is #!/usr/bin/perl

Perl is not any of the following:

  • /usr/local/bin/perl
  • /usr/local/lwall/bin/perl
  • /usr/bin/perl5
  • /usr/bin/perl4
  • /usr/bin/perl5.004
  • /usr/local/lib/perl
  • /opt/gnu/bin/perl
  • /bin/perl
Why? Because we only wish to support ONE version of perl. If you notice a discrepancy that makes /usr/bin/perl incompatible, please point it out to the webmaster.

How should I troubleshoot my Perl script?

The simplest way to troublshoot your perl script is from the Unix shell. Perl has a built in checking mechanism you can envoke with 'perl -c'. If you are using specific perl libraries such as cgi-lib.pl, you may want to use the machine atlantis.io.com to troubleshoot your script. Atlantis has the same version and libraries of perl as installed on our webservers.

Using 'perl -c' normally gives you specific error messages. Here are some examples:


atlantis% perl -c guestbook.cgi
guestbook.cgi syntax OK

atlantis% perl -c counter.cgi
Illegal character \015 (carriage return) at counter.cgi line 1.
(Maybe you didn't strip carriage returns after a network transfer?)

There are, of course, many other error messages possible and many different ways of troubleshooting your script yourself.

I got the message:


Illegal character \015 (carriage return) at counter.cgi line 1.
(Maybe you didn't strip carriage returns after a network transfer?)

What does that mean?

This is most commonly caused when you edit a script under a windows or macintosh platform and have transfered the script using binary mode in FTP.

Many windows and macintosh based editors put carriage returns at the end of each line of a text document. You should try saving your document as a 'plain text' document as opposed to your editor's default format.

When you transfer your script via FTP, you should be using plain text or ASCII mode instead of binary or automatic mode. Transfers to a UNIX system using binary mode will preserve carriage returns in scripts which perl cannot understand.

Where is cgi-lib.pl?

To use cgi-lib.pl, include the following lines in your script:





require 'cgi-lib.pl';
& ReadParse;

What kind of server am I on?

If you have a virtual domain, your pages are served by one of five machines:
  • Langley.io.com, a 200 Mhz Pentium Pro
  • Whitehall.io.com, a 200 Mhz Pentium Pro
  • Kremlin.io.com, a 200 Mhz Pentium
  • Pentagon.io.com, a 350 Mhz Pentium II
  • Hakirya.io.com, a 200 Mhz Pentium Pro
Each machine runs Linux and the Apache http server.

If you don't have a virtual domain, your pages are served by a round-robin of two machines (www-01.io.com and www-03.io.com). These two machines are each Pentium II 400 MHz processors with 384 MB of SDRAM. Both machines answer to the hostname 'www.io.com' and both are running RedHat Linux and the Apache http server.

What Perl libraries are installed?

There is a list of what Perl libraries are installed on our servers.

Are there any restrictions on CGI?

There are only two restrictions for CGI's on our system.

First, we reserve the right to terminate, move, or otherwise change a script that may be hindering the performance of our servers.

Second, it is strictly against our system policy to use a CGI or script on our system to produce click-through banner ads. This is specifically targeted at banner advertizements of an adult nature.



Last revised November 19, 1999