.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.47)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\"
.\" Required to disable full justification in groff 1.23.0.
.if n .ds AD l
.\" ========================================================================
.\"
.IX Title "Module::CoreList::Utils 3"
.TH Module::CoreList::Utils 3 2026-04-21 "perl v5.42.1" "User Contributed Perl Documentation"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH NAME
Module::CoreList::Utils \- what utilities shipped with versions of perl
.SH SYNOPSIS
.IX Header "SYNOPSIS"
.Vb 1
\& use Module::CoreList::Utils;
\&
\& print $Module::CoreList::Utils::utilities{5.009003}{ptar}; # prints 1
\&
\& print Module::CoreList::Utils\->first_release(\*(Aqcorelist\*(Aq);
\& # prints 5.008009
\&
\& print Module::CoreList::Utils\->first_release_by_date(\*(Aqcorelist\*(Aq);
\& # prints 5.009002
.Ve
.SH DESCRIPTION
.IX Header "DESCRIPTION"
Module::CoreList::Utils provides information on which core and dual\-life utilities shipped
with each version of perl.
.PP
It provides a number of mechanisms for querying this information.
.PP
There is a functional programming API available for programmers to query
information.
.PP
Programmers may also query the contained hash structure to find relevant
information.
.SH "FUNCTIONS API"
.IX Header "FUNCTIONS API"
These are the functions that are available, they may either be called as functions or class methods:
.PP
.Vb 1
\&  Module::CoreList::Utils::first_release(\*(Aqcorelist\*(Aq); # as a function
\&
\&  Module::CoreList::Utils\->first_release(\*(Aqcorelist\*(Aq); # class method
.Ve
.ie n .IP """utilities""" 4
.el .IP \f(CWutilities\fR 4
.IX Item "utilities"
Requires a perl version as an argument, returns a list of utilities that shipped with
that version of perl, or undef/empty list if that perl doesn\*(Aqt exist.
.ie n .IP "first_release( UTILITY )" 4
.el .IP "\f(CWfirst_release( UTILITY )\fR" 4
.IX Item "first_release( UTILITY )"
Requires a UTILITY name as an argument, returns the perl version when that utility first
appeared in core as ordered by perl version number or undef ( in scalar context )
or an empty list ( in list context ) if that utility is not in core.
.ie n .IP "first_release_by_date( UTILITY )" 4
.el .IP "\f(CWfirst_release_by_date( UTILITY )\fR" 4
.IX Item "first_release_by_date( UTILITY )"
Requires a UTILITY name as an argument, returns the perl version when that utility first
appeared in core as ordered by release date or undef ( in scalar context )
or an empty list ( in list context ) if that utility is not in core.
.ie n .IP "removed_from( UTILITY )" 4
.el .IP "\f(CWremoved_from( UTILITY )\fR" 4
.IX Item "removed_from( UTILITY )"
Takes a UTILITY name as an argument, returns the first perl version where that utility
was removed from core. Returns undef if the given utility was never in core or remains
in core.
.ie n .IP "removed_from_by_date( UTILITY )" 4
.el .IP "\f(CWremoved_from_by_date( UTILITY )\fR" 4
.IX Item "removed_from_by_date( UTILITY )"
Takes a UTILITY name as an argument, returns the first perl version by release date where that
utility was removed from core. Returns undef if the given utility was never in core or remains
in core.
.SH "DATA STRUCTURES"
.IX Header "DATA STRUCTURES"
These are the hash data structures that are available:
.ie n .IP %Module::CoreList::Utils::utilities 4
.el .IP \f(CW%Module::CoreList::Utils::utilities\fR 4
.IX Item "%Module::CoreList::Utils::utilities"
A hash of hashes that is keyed on perl version as indicated
in $].  The second level hash is utility / defined pairs.
.SH AUTHOR
.IX Header "AUTHOR"
Chris \f(CW\*(C`BinGOs\*(C'\fR Williams <chris@bingosnet.co.uk>
.PP
Currently maintained by the perl 5 porters <perl5\-porters@perl.org>.
.PP
This module is the result of archaeology undertaken during QA Hackathon
in Lancaster, April 2013.
.SH LICENSE
.IX Header "LICENSE"
Copyright (C) 2013 Chris Williams.  All Rights Reserved.
.PP
This module is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
corelist, Module::CoreList, perl, <http://perlpunks.de/corelist>
