Announcing libwww-perl 0.40

Roy T. Fielding (fielding@avron.ICS.UCI.EDU)
Thu, 22 Sep 1994 09:32:25 +0200

Version 0.40 of libwww-perl is now available.

libwww-perl is a library of Perl4 packages which provides a simple
and consistent programming interface to the World-Wide Web. This
library is being developed as a collaborative effort to assist the
further development of useful WWW clients and tools.

The distribution site and much more information about the libraries
can be found at


and also at


I am looking for more contributions to support the many protocols.

A mailing list has been established for technical discussion about
libwww-perl, including problem reports, interim fixes, suggestions
for features, and contributions. The mailing list address is

and administrivia (including subscribe requests) should be sent to

A Hypermail Archive of the mailing list is also available at


Changes from version 0.30:

Revamped the "get" program: Added code to show original headers if they
were received; Added tout= to interactively change the timeout value;
Added ims= to interactively give If-Modified-Since; Added handling of
POST content suggested by Mel Melchner; Added command-line options,
debug and quiet modes such that the program is now ideal for testing
server/proxy responses to requests; Added "get -h" usage information.
Added $headers initialization to other test clients as well.

Changed the name of Changes.txt to and moved
the $www'Library version name so that it can be set there.
Added a new Makefile to ease the installation process.
Added sys_socket_ph.c to help find problems in SVR4 system installs.
Added so that people can more easily/portably get host names.
Fixed more usage of undefined proxy environment vars (from Martijn Koster).

Fixed a number of problems with the handling of years in,
most of which were due to limitations in, which goes into
an infinite loop if (year >= 2038). Now handles 2 and 4-digit years
regardless of date format.

In, removed unnecessary bind() and host stuff (Jack Shirazi);
Added a bunch of alarm() calls to lessen timeout problems; Now replaces
empty paths with "/" (Marc VanHeyningen); Changed name of &timeout
routine to &timed_out to avoid confusion with $timeout parameter.

In, the parsing sets were renamed to match the IETF draft
on Relative URLs and the method used to test them was changed to use
bitmap masks. Modified parsing algorithm to use the new sets.
Parser now handles URLs like http://host:/ and uses the leftmost "?"
as the start of query info. Added caching of base URL components so
that they don't get re-parsed for every URL in a document. Now allows
lowercase hex digits in unescape().

Added a source code "contrib" directory at
<> for use as
a half-way house for wayward programs.

Have fun,

.....Roy Fielding ICS Grad Student, University of California, Irvine USA