1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" 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
.\" ========================================================================
.\"
.IX Title "Module::CoreList::Utils 3perl"
.TH Module::CoreList::Utils 3perl 2024-05-30 "perl v5.38.2" "Perl Programmers Reference Guide"
.\" 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't 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>
|