Perl

Perl is a high-level programming language with an eclectic heritage written by Larry Wall. Perl like Javascript is a scripting language which adds interactivity to web site pages. You can find bulletin boards, chat rooms and a wide variety of other web site applications that are written in Perl. Perl derives from the ubiquitous C programming language and to a lesser extent from sed, awk, the Unix shell, and at least a dozen other tools and languages. Perl is great for creating programs for web sites such as,

  • system utilities,
  • software tools,
  • system management tasks,
  • database access,
  • graphical programming,
  • networking, and
  • world wide web programming.

Perl builds and runs on a number of platforms,

  • Virtually all known and current Unix derivatives are supported (Perl's native platform)
  • VMS,
  • DOS,
  • OS/2,
  • Windows,
  • QNX,
  • BeOS,
  • Amiga

Perl FAQ

  • How can I compile Perl
  • Perl scripting basics
    • If you are looking to understand a perl script, then these are common elements you may find,

      • # - comment and this line wont get executed.
      • $ - indicates that this is a variable
      • & - if a word starts with a & it is a call to a sub-routine
      • < - the file is being opened for a read operation
      • > - the file is being opened for a write operation
      • >> - the file is being opened for an append operation
      • (.) - this puts together two variables
      • @ - if a word start with this character it indicates a single-dimension array
      • % - if a word starting with this character indicates a two-dimensional array.
  • Perl versions
    • Version 4

      • was the fourth major release (March 1991)
      • it's stable but,
      • is old, limited, and no longer maintained;
      • its last patch (4.036) was in 1992

      Version 5

      • name for the fifth major release (October 1994)
      • rewrite of the original perl source code from releases 1 through 4
      • has been modularized, object-oriented, tweaked, trimmed, and optimized
      • interface is mostly the same

      Version 6

      • rewrite of the current release of Perl by the Topaz project
      • 100% source-compatibility with previous releases
      • written in nominally portable C++
  • Reporting Perl bugs
    • If you are reporting a bug in the perl interpreter or the modules shipped with Perl, email Perl at this address,

      • perlbug@perl.com

      If you are posting a bug with a non-standard port, a binary distribution, or a non-standard module then you will need to check the documentation that came with it to determine the correct place to post bugs.

  • How to start a cgi script with Perl interpreter
    • Most web servers require this line at the start of any cgi script that uses a perl interpreter,

      • #!/usr/local/bin/perl (often the Perl 5 location) , or this,
      • #!/usr/bin/perl (often the Perl 4 location)

      If this causes an error then asked your web host for it's perl compiler path details.

  • Basic Perl Script
    • To test your ability to store and run a Perl program, enter and execute something like this,


      #!/usr/local/bin/perl -w
      if ($#ARGV >= 0) { $who = join(' ', @ARGV); }
      else { $who = 'World'; }
      print "Hello, $who!\n";

      this should print "Hello" on your screen.

  • How to make your Perl CGI script more efficient
    • Each time a GCI script runs it will need to be re-compiled by Perl and will often allocate a megabyte or more of system memory, this can be a killer.

      There are two popular ways to avoid this overhead.

      1. One is running the Apache HTTP server with either of the mod_perl or mod_fastcgi plugin modules.
      2. Two running it with the FCGI module (from CPAN) and the mod_fastcgi module (available from http://www.fastcgi.com/) each of your Perl programs becomes a permanent CGI daemon process.

      These solutions can both effect your system and how you write your CGI programs, so investigate how them carefully.

    learn more