1PERLUTIL(1) Perl Programmers Reference Guide PERLUTIL(1)
2
3
4
6 perlutil - utilities packaged with the Perl distribution
7
9 Along with the Perl interpreter itself, the Perl distribution installs
10 a range of utilities on your system. There are also several utilities
11 which are used by the Perl distribution itself as part of the install
12 process. This document exists to list all of these utilities, explain
13 what they are for and provide pointers to each module's documentation,
14 if appropriate.
15
17 Documentation
18 perldoc
19 The main interface to Perl's documentation is perldoc, although if
20 you're reading this, it's more than likely that you've already found
21 it. perldoc will extract and format the documentation from any file
22 in the current directory, any Perl module installed on the system,
23 or any of the standard documentation pages, such as this one. Use
24 "perldoc <name>" to get information on any of the utilities
25 described in this document.
26
27 pod2man
28 pod2text
29 If it's run from a terminal, perldoc will usually call pod2man to
30 translate POD (Plain Old Documentation - see perlpod for an
31 explanation) into a manpage, and then run man to display it; if man
32 isn't available, pod2text will be used instead and the output piped
33 through your favourite pager.
34
35 pod2html
36 As well as these two, there is another converter: pod2html will
37 produce HTML pages from POD.
38
39 pod2usage
40 If you just want to know how to use the utilities described here,
41 pod2usage will just extract the "USAGE" section; some of the
42 utilities will automatically call pod2usage on themselves when you
43 call them with "-help".
44
45 podchecker
46 If you're writing your own documentation in POD, the podchecker
47 utility will look for errors in your markup.
48
49 splain
50 splain is an interface to perldiag - paste in your error message to
51 it, and it'll explain it for you.
52
53 roffitall
54 The roffitall utility is not installed on your system but lives in
55 the pod/ directory of your Perl source kit; it converts all the
56 documentation from the distribution to *roff format, and produces a
57 typeset PostScript or text file of the whole lot.
58
59 Converters
60 pl2pm
61 To help you convert legacy programs to more modern Perl, the pl2pm
62 utility will help you convert old-style Perl 4 libraries to new-
63 style Perl5 modules.
64
65 Administration
66 libnetcfg
67 To display and change the libnet configuration run the libnetcfg
68 command.
69
70 perlivp
71 The perlivp program is set up at Perl source code build time to test
72 the Perl version it was built under. It can be used after running
73 "make install" (or your platform's equivalent procedure) to verify
74 that perl and its libraries have been installed correctly.
75
76 Development
77 There are a set of utilities which help you in developing Perl
78 programs, and in particular, extending Perl with C.
79
80 perlbug
81 perlbug used to be the recommended way to report bugs in the perl
82 interpreter itself or any of the standard library modules back to
83 the developers; bug reports and patches should now be submitted to
84 <https://github.com/Perl/perl5/issues>.
85
86 perlthanks
87 This program provides an easy way to send a thank-you message back
88 to the authors and maintainers of perl. It's just perlbug installed
89 under another name.
90
91 h2ph
92 Back before Perl had the XS system for connecting with C libraries,
93 programmers used to get library constants by reading through the C
94 header files. You may still see "require 'syscall.ph'" or similar
95 around - the .ph file should be created by running h2ph on the
96 corresponding .h file. See the h2ph documentation for more on how to
97 convert a whole bunch of header files at once.
98
99 h2xs
100 h2xs converts C header files into XS modules, and will try and write
101 as much glue between C libraries and Perl modules as it can. It's
102 also very useful for creating skeletons of pure Perl modules.
103
104 enc2xs
105 enc2xs builds a Perl extension for use by Encode from either Unicode
106 Character Mapping files (.ucm) or Tcl Encoding Files (.enc).
107 Besides being used internally during the build process of the Encode
108 module, you can use enc2xs to add your own encoding to perl. No
109 knowledge of XS is necessary.
110
111 xsubpp
112 xsubpp is a compiler to convert Perl XS code into C code. It is
113 typically run by the makefiles created by ExtUtils::MakeMaker.
114
115 xsubpp will compile XS code into C code by embedding the constructs
116 necessary to let C functions manipulate Perl values and creates the
117 glue necessary to let Perl access those functions.
118
119 prove
120 prove is a command-line interface to the test-running functionality
121 of Test::Harness. It's an alternative to "make test".
122
123 corelist
124 A command-line front-end to Module::CoreList, to query what modules
125 were shipped with given versions of perl.
126
127 General tools
128 A few general-purpose tools are shipped with perl, mostly because they
129 came along modules included in the perl distribution.
130
131 encguess
132 encguess will attempt to guess the character encoding of files.
133
134 json_pp
135 json_pp is a pure Perl JSON converter and formatter.
136
137 piconv
138 piconv is a Perl version of iconv(1), a character encoding converter
139 widely available for various Unixen today. This script was
140 primarily a technology demonstrator for Perl v5.8.0, but you can use
141 piconv in the place of iconv for virtually any case.
142
143 ptar
144 ptar is a tar-like program, written in pure Perl.
145
146 ptardiff
147 ptardiff is a small utility that produces a diff between an
148 extracted archive and an unextracted one. (Note that this utility
149 requires the Text::Diff module to function properly; this module
150 isn't distributed with perl, but is available from the CPAN.)
151
152 ptargrep
153 ptargrep is a utility to apply pattern matching to the contents of
154 files in a tar archive.
155
156 shasum
157 This utility, that comes with the Digest::SHA module, is used to
158 print or verify SHA checksums.
159
160 streamzip
161 streamzip compresses data streamed to STDIN into a streamed zip
162 container.
163
164 zipdetails
165 zipdetails displays information about the internal record structure
166 of the zip file. It is not concerned with displaying any details of
167 the compressed data stored in the zip file.
168
169 Installation
170 These utilities help manage extra Perl modules that don't come with the
171 perl distribution.
172
173 cpan
174 cpan is a command-line interface to CPAN.pm. It allows you to
175 install modules or distributions from CPAN, or just get information
176 about them, and a lot more. It is similar to the command line mode
177 of the CPAN module,
178
179 perl -MCPAN -e shell
180
181 instmodsh
182 A little interface to ExtUtils::Installed to examine installed
183 modules, validate your packlists and even create a tarball from an
184 installed module.
185
187 perldoc, pod2man, pod2text, pod2html, pod2usage, podchecker, splain,
188 pl2pm, perlbug, h2ph, h2xs, enc2xs, xsubpp, cpan, encguess, instmodsh,
189 json_pp, piconv, prove, corelist, ptar, ptardiff, shasum, streamzip,
190 zipdetails
191
192
193
194perl v5.38.2 2023-11-30 PERLUTIL(1)