Perl4::CoreLibs(3pm)

πŸ“¦
version 0.005 Β· 7 versions
, in debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

✨ Perl4::CoreLibs ✨

okay bestie, gather round, because today we're talking about Perl4::CoreLibs β€” the User Contributed Perl Documentation section, no less. this is the lil museum of .pl files that used to live rent-free in the Perl core. πŸ›οΈπŸ’–


πŸ’– NAME πŸ’–

Perl4::CoreLibs β€” libraries historically supplied with Perl 4. yes, Perl 4. we're going vintage vintage. πŸ•°οΈβœ¨


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so. this is a whole collection of .pl files that were bundled with the Perl core until core version 5.15.1. and listen β€” relying on them still being in the core distribution? deprecated, no cap. you're supposed to get them from this CPAN distribution instead. πŸ’…

and from core version 5.13.3 until they got yeeted out entirely, the core versions of these libraries would emit a deprecation warning the moment you loaded them. the CPAN version does NOT emit such a warning, so that's the whole glow-up right there. ✨

now for the lore: the entire Perl 4 approach to libraries got largely superseded in Perl 5.000 by the whole system of module namespaces and .pm files. most of the libraries in this collection predate Perl 5.000, but a handful of them actually got introduced in that version. functionally, most have been directly superseded by modules in the Perl 5 style.

🚨 real talk: these libraries should not be used by new code. periodt. this collection exists purely to support old Perl programs that predate satisfactory replacements. it's a support group, not a starter pack.

also β€” most of these libraries have not been substantially maintained over the course of Perl 5 development. they're now very antiquated in style, making zero use of any language facilities introduced since Perl 4. so like. please do not use them as programming examples. they are not the tutorial, they are the cautionary tale. πŸ’€


🌈 LIBRARIES 🌈

the libraries in this collection are, in this exact order, no skips:

  • abbrev.pl β€” build a dictionary of unambiguous abbreviations for a group of words. prefer Text::Abbrev.
  • assert.pl β€” assertion checking with a stack trace upon assertion failure. 🫢
  • bigfloat.pl β€” arbitrary precision decimal floating point arithmetic. prefer Math::BigFloat.
  • bigint.pl β€” arbitrary precision integer arithmetic. prefer Math::BigInt.
  • bigrat.pl β€” arbitrary precision rational arithmetic. prefer Math::BigRat.
  • cacheout.pl β€” manage output to a large number of files to avoid running out of file descriptors. the file-descriptor girlies know. πŸ™ˆ
  • chat2.pl β€” framework for partial automation of communication with a remote process over IP. prefer IO::Socket::INET.
  • complete.pl β€” interactive line input with word completion. prefer Term::Complete.
  • ctime.pl β€” one form of textual representation of time. prefer "scalar(localtime())" or "ctime" in POSIX.
  • dotsh.pl β€” inhale shell variables set by a shell script. πŸ“
  • exceptions.pl β€” 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.
  • fastcwd.pl β€” determine current directory. prefer Cwd.
  • find.pl β€” historical interface for a way of searching for files. prefer File::Find.
  • finddepth.pl β€” historical interface for a way of searching for files. prefer File::Find.
  • flush.pl β€” flush an I/O handle's output buffer. prefer "flush" in IO::Handle.
  • ftp.pl β€” File Transfer Protocol (FTP) over IP. prefer Net::FTP.
  • getcwd.pl β€” determine current directory. prefer Cwd.
  • getopt.pl β€” Unix-like option processing with all option taking arguments. prefer Getopt::Std.
  • getopts.pl β€” full Unix-like option processing. prefer Getopt::Std.
  • hostname.pl β€” determine host's hostname. prefer Sys::Hostname.
  • importenv.pl β€” import environment variables as Perl package variables.
  • look.pl β€” data-based seek within regular file.
  • newgetopt.pl β€” GNU-like option processing. prefer Getopt::Long.
  • open2.pl β€” open a subprocess for both reading and writing. prefer IPC::Open2.
  • open3.pl β€” open a subprocess for reading, writing, and error handling. prefer IPC::Open3.
  • pwd.pl β€” track changes of current directory in $ENV{PWD}.
  • shellwords.pl β€” interpret shell quoting. prefer Text::ParseWords.
  • stat.pl β€” access fields of a stat structure by name. prefer File::stat.
  • syslog.pl β€” write to Unix system log. prefer Sys::Syslog.
  • tainted.pl β€” determine whether data is tainted. prefer Taint::Util.
  • termcap.pl β€” generate escape sequences to control arbitrary terminal. prefer Term::Cap.
  • timelocal.pl β€” generate time number from broken-down time. prefer Time::Local.
  • validate.pl β€” check permissions on a group of files.

πŸ‘‘ AUTHOR πŸ‘‘

the known contributing authors for the libraries in this package are: Brandon S. Allbery, John Bazik, Tom Christiansen <tchrist@convex.com>, Charles Collins, Joe Doupnik <JRD@CC.USU.EDU>, Marion Hakanson <hakanson@cse.ogi.edu>, Waldemar Kebsch <kebsch.pad@nixpbe.UUCP>, Lee McLoughlin <lmjm@doc.ic.ac.uk>, <A.Macpherson@bnr.co.uk>, Randal L. Schwartz <merlyn@stonehenge.com>, Aaron Sherman <asherman@fmrco.com>, Wayne Thompson, Larry Wall <lwall@jpl-devvax.jpl.nasa.gov>, and Ilya Zakharevich. 😭

(most of these email addresses are probably out of date.) like, deeply out of date. we're talking historical artifact energy. πŸ’€

the known contributing authors for the tests in this package are: Tom Christiansen <tchrist@convex.com>, Alexandr Ciornii (alexchorny at gmail.com), Marc Horowitz <marc@mit.edu>, Dave Rolsky <autarch@urth.org>, and David Sundstrom <sunds@asictest.sc.ti.com>.

and Andrew Main (Zefram) <zefram@fysh.org> built the Perl4::CoreLibs package. iconic behavior, truly. πŸŽ€


Copyright (C) 1987-2009 Larry Wall et al

Copyright (C) 2010, 2011, 2017, 2023 Andrew Main (Zefram) <zefram@fysh.org>


🌸 LICENSE 🌸

this module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. slay, honestly. πŸ’…


and that's the whole page, bestie β€” courtesy of perl v5.36.0, dated 2023-06-11, filed under Perl4::CoreLibs(3pm). go forth, use the modern modules, and hydrate. πŸ¦‹βœ¨πŸ’–

πŸ“¦ where this page comes from