Perl4::CoreLibs(3) libraries historically supplied with Perl 4


This is a collection of ".pl" files that have historically been bundled with the Perl core but are planned not to be so distributed with core version 5.15 or later. Relying on their presence in the core distribution is deprecated; they should be acquired from this CPAN distribution instead. From core version 5.13, until their removal, it is planned that the core versions of these libraries will emit a warning when loaded. The CPAN version will not emit such a warning.

The entire Perl 4 approach to libraries was largely superseded in Perl 5.000 by the system of module namespaces and ".pm" files. Most of the libraries in this collection predate Perl 5.000, but a handful were first introduced in that version. Functionally, most have been directly superseded by modules in the Perl 5 style. These libraries should not be used by new code. This collection exists to support old Perl programs that predates satisfactory replacements.

Most of these libraries have not been substantially maintained in the course of Perl 5 development. They are now very antiquated in style, making no use of the language facilities introduced since Perl 4. They should therefore not be used as programming examples.


The libraries in this collection are:
Build a dictionary of unambiguous abbreviations for a group of words. Prefer Text::Abbrev.
Assertion checking with stack trace upon assertion failure.
Arbitrary precision decimal floating point arithmetic. Prefer Math::BigFloat.
Arbitrary precision integer arithmetic. Prefer Math::BigInt.
Arbitrary precision rational arithmetic. Prefer Math::BigRat.
Manage output to a large number of files to avoid running out of file descriptors.
Framework for partial automation of communication with a remote process over IP. Prefer IO::Socket::INET.
Interactive line input with word completion. Prefer Term::Complete.
One form of textual representation of time. Prefer "scalar(localtime())" or ``ctime'' in POSIX.
Inhale shell variables set by a shell script.
String-based exception handling built on "eval" and "die". Prefer Try::Tiny or TryCatch.
Determine current directory. Prefer Cwd.
Historical interface for a way of searching for files. Prefer File::Find.
Historical interface for a way of searching for files. Prefer File::Find.
Flush an I/O handle's output buffer. Prefer ``flush'' in IO::Handle.
File Transfer Protocol (FTP) over IP. Prefer Net::FTP.
Determine current directory. Prefer Cwd.
Unix-like option processing with all option taking arguments. Prefer Getopt::Std.
Full Unix-like option processing. Prefer Getopt::Std.
Determine host's hostname. Prefer Sys::Hostname.
Import environment variables as Perl package variables.
Data-based seek within regular file.
GNU-like option processing. Prefer Getopt::Long.
Open a subprocess for both reading and writing. Prefer IPC::Open2.
Open a subprocess for reading, writing, and error handling. Prefer IPC::Open3.
Track changes of current directory in $ENV{PWD}.
Interpret shell quoting. Prefer Text::ParseWords.
Access fields of a stat structure by name. Prefer File::stat.
Write to Unix system log. Prefer Sys::Syslog.
Determine whether data is tainted. Prefer Taint::Util.
Generate escape sequences to control arbitrary terminal. Prefer Term::Cap.
Generate time number from broken-down time. Prefer Time::Local.
Check permissions on a group of files.


Known contributing authors for the libraries in this package are Brandon S. Allbery, John Bazik, Tom Christiansen <[email protected]>, Charles Collins, Joe Doupnik <[email protected]>, Marion Hakanson <[email protected]>, Waldemar Kebsch <[email protected]>, Lee McLoughlin <[email protected]>, <[email protected]>, Randal L. Schwartz <[email protected]>, Aaron Sherman <[email protected]>, Wayne Thompson, Larry Wall <[email protected]>, and Ilya Zakharevich. (Most of these email addresses are probably out of date.)

Known contributing authors for the tests in this package are Tom Christiansen <[email protected]>, Alexandr Ciornii (alexchorny at, Marc Horowitz <[email protected]>, Dave Rolsky <[email protected]>, and David Sundstrom <[email protected]>.

Andrew Main (Zefram) <[email protected]> built the Perl4::CoreLibs package.


Copyright (C) 1987-2009 Larry Wall et al

Copyright (C) 2010, 2011 Andrew Main (Zefram) <[email protected]>


This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.