The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Perl4::CoreLibs - libraries historically supplied with Perl 4


This is a collection of .pl files that were bundled with the Perl core until core version 5.15.1. Relying on their presence in the core distribution is deprecated; they should be acquired from this CPAN distribution instead. From core version 5.13.3 until their removal, the core versions of these libraries emit a deprecation warning when loaded. The CPAN version does 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 predate 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, TryCatch, or the core try/catch facility on Perl 5.33.7 or later.

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 <>, Charles Collins, Joe Doupnik <JRD@CC.USU.EDU>, Marion Hakanson <>, Waldemar Kebsch <kebsch.pad@nixpbe.UUCP>, Lee McLoughlin <>, <>, Randal L. Schwartz <>, Aaron Sherman <>, Wayne Thompson, Larry Wall <>, 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 <>, Alexandr Ciornii (alexchorny at, Marc Horowitz <>, Dave Rolsky <>, and David Sundstrom <>.

Andrew Main (Zefram) <> built the Perl4::CoreLibs package.


Copyright (C) 1987-2009 Larry Wall et al

Copyright (C) 2010, 2011, 2017, 2023 Andrew Main (Zefram) <>


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