W3C

Getting the Perllib Source

Perllib is made freely available for any purpose - get it in one of the forms below.

Checkout from CVS (Preferred)

Checking out the code base directly from our CVS repository allows you to follow the development of perllib closely and to contribute much more easily. Also, you will get a lot of bug fixes that are not in the CPAN distribution. In fact, if you intend to provide patches then you should use the CVS repository!

Once you have retrieved the code base, perl must be able to find the modules. Perl's install code, perl Makefile.PL;make install, will allow you to make these packages available in the standard @INC path, but doing so may will cause the installed version to shadow subsequent updates. If you choose to run it in place (instead of make install), you must tell perl the path to the W3C/ directory (from the install directory, perl/modules/W3C). You may either set the PERL5LIB environment variable:

bash: PERL5LIB=<install directory>/perl/modules/W3C
csh: setenv PERL5LIB <install directory>/perl/modules/W3C

or add it to your @INC path from the command line:

perl -I /usr/local/perl/modules myRdfTool.pl

For most scripts, you can use a relative path. This makes it easy to run them from the checked out directories:

bash: cd <install directory>/perl/modules/W3C/Rdf/bin
PERL5LIB=../../.. ./algae <arguments>

Latest CPAN-style Release (June 19, 2004)

Occasionally we build CPAN-style distributions of the code and produce a new revision, however, this happens much less frequently than updates are committed to the CVS repository.

warning: Installing the CPAN modules may complicate later use of CVS checkouts. When you install the CPAN modules, perl installs the modules in your include path. Depending on the PERL5LIB and @INC variables, perl is likely to use the CPAN versions instead any versions you check out from CVS.

The distributiosn come in packages:

and as separate modules:

  1. Util — Object, Exception and logging utilites.
  2. Http — HTTP request and response objects.
  3. Database — classes for interacting with databases.
  4. XML — a perl XML parser and some SAX handlers.
  5. Rdf — RDF suite for reading, writing, querying and inferecing over RDF.
  6. Annotations — the W3C Annotea system

When you have downloaded the packages, do the following:

  1. tar -xzf <package name>
  2. cd <newly created package dir>
  3. Perl Makefile.PL
  4. make
  5. make test
  6. make install

Perl environment

The Perllib requires a few CPAN modules. If you are unfamiliar with CPAN, see the brief introduction. See also, the required module list and the windows option

CPAN Introduction

Perl has a defined module packaging format and centralized repository. CPAN is somewhat overloaded in that it refers to both the format and the repository.

You can invoke the CPAN command shell with perl -MCPAN -e shell. If you have never used it before, it will ask you several questions to configure it. It is a good idea to have already installed gzip, tar, unzip, make, lynx, ncftp, ftp, a pager like less or more, and a shell like tcsh or bash. You may also want to know what continent you inhabit.

The most important command you will use in CPAN is install. This takes an argument of a CPAN package name, like Bundle::CPAN or Tk. You may also need to use the i /foo/ idiom to search for packages with foo in them.

You can get the latest version of the CPAN libraries with install Bundle::CPAN.

CPAN module list

Tk
Perl version of Ousterhout famous GUI libraries. This takes a dog's age to download and compile. I have no idea how you can get the perl modules to link to Tk libraries you may already have in your environment so redundancy is a possibility.
URI::URL
This comes with most builds of Perl.
DBD::mysql
you will need this module if you wish to set up a persistent RDF database in mysql.
???
let me know what else you need

CPAN on windows

activestate has a version of perl for windows which, at times, includes Tk.

Old modules

Here is a list of the old packages, each package requires all the packages above it:


Valid XHTML 1.0! Author: Eric Prud'hommeaux
$Date: 2004/10/03 03:08:25 $