Install Perl 5.8.8
[msysgit.git] / mingw / html / pod / perl.html
blob506321d4d87381ab5cf2056c3f5befe9ee351bf3
1 <?xml version="1.0" ?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <title>perl - Practical Extraction and Report Language</title>
6 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
7 <link rev="made" href="mailto:" />
8 </head>
10 <body style="background-color: white">
11 <table border="0" width="100%" cellspacing="0" cellpadding="3">
12 <tr><td class="block" style="background-color: #cccccc" valign="middle">
13 <big><strong><span class="block">&nbsp;perl - Practical Extraction and Report Language</span></strong></big>
14 </td></tr>
15 </table>
17 <p><a name="__index__"></a></p>
18 <!-- INDEX BEGIN -->
20 <ul>
22 <li><a href="#name">NAME</a></li>
23 <li><a href="#synopsis">SYNOPSIS</a></li>
24 <ul>
26 <li><a href="#overview">Overview</a></li>
27 <li><a href="#tutorials">Tutorials</a></li>
28 <li><a href="#reference_manual">Reference Manual</a></li>
29 <li><a href="#internals_and_c_language_interface">Internals and C Language Interface</a></li>
30 <li><a href="#miscellaneous">Miscellaneous</a></li>
31 <li><a href="#languagespecific">Language-Specific</a></li>
32 <li><a href="#platformspecific">Platform-Specific</a></li>
33 </ul>
35 <li><a href="#description">DESCRIPTION</a></li>
36 <li><a href="#availability">AVAILABILITY</a></li>
37 <li><a href="#environment">ENVIRONMENT</a></li>
38 <li><a href="#author">AUTHOR</a></li>
39 <li><a href="#files">FILES</a></li>
40 <li><a href="#see_also">SEE ALSO</a></li>
41 <li><a href="#diagnostics">DIAGNOSTICS</a></li>
42 <li><a href="#bugs">BUGS</a></li>
43 <li><a href="#notes">NOTES</a></li>
44 </ul>
45 <!-- INDEX END -->
47 <hr />
48 <p>
49 </p>
50 <h1><a name="name">NAME</a></h1>
51 <p>perl - Practical Extraction and Report Language</p>
52 <p>
53 </p>
54 <hr />
55 <h1><a name="synopsis">SYNOPSIS</a></h1>
56 <p><table cellspacing="0" cellpadding="0"><tr><td><strong>perl</strong><td>[&nbsp;<strong>-sTtuUWX</strong>&nbsp;]
57 <tr><td><td>[&nbsp;<strong>-hv</strong>&nbsp;]&nbsp;[&nbsp;<strong>-V</strong>[:<em>configvar</em>]&nbsp;]
58 <tr><td><td>[&nbsp;<strong>-cw</strong>&nbsp;]&nbsp;[&nbsp;<strong>-d</strong>[<strong>t</strong>][:<em>debugger</em>]&nbsp;]&nbsp;[&nbsp;<strong>-D</strong>[<em>number/list</em>]&nbsp;]
59 <tr><td><td>[&nbsp;<strong>-pna</strong>&nbsp;]&nbsp;[&nbsp;<strong>-F</strong><em>pattern</em>&nbsp;]&nbsp;[&nbsp;<strong>-l</strong>[<em>octal</em>]&nbsp;]&nbsp;[&nbsp;<strong>-0</strong>[<em>octal/hexadecimal</em>]&nbsp;]
60 <tr><td><td>[&nbsp;<strong>-I</strong><em>dir</em>&nbsp;]&nbsp;[&nbsp;<strong>-m</strong>[<strong>-</strong>]<em>module</em>&nbsp;]&nbsp;[&nbsp;<strong>-M</strong>[<strong>-</strong>]<em>'module...'</em>&nbsp;]&nbsp;[&nbsp;<strong>-f</strong>&nbsp;]
61 <tr><td><td>[&nbsp;<strong>-C&nbsp;[<em>number/list</em>]&nbsp;</strong>]
62 <tr><td><td>[&nbsp;<strong>-P</strong>&nbsp;]
63 <tr><td><td>[&nbsp;<strong>-S</strong>&nbsp;]
64 <tr><td><td>[&nbsp;<strong>-x</strong>[<em>dir</em>]&nbsp;]
65 <tr><td><td>[&nbsp;<strong>-i</strong>[<em>extension</em>]&nbsp;]
66 <tr><td><td>[&nbsp;<strong>-e</strong>&nbsp;<em>'command'</em>&nbsp;]&nbsp;[&nbsp;<strong>--</strong>&nbsp;]&nbsp;[&nbsp;<em>programfile</em>&nbsp;]&nbsp;[&nbsp;<em>argument</em>&nbsp;]...</table></p>
67 <p>If you're new to Perl, you should start with <a href="file://C|\msysgit\mingw\html/pod/perlintro.html">the perlintro manpage</a>, which is a
68 general intro for beginners and provides some background to help you
69 navigate the rest of Perl's extensive documentation.</p>
70 <p>For ease of access, the Perl manual has been split up into several sections.</p>
71 <p>
72 </p>
73 <h2><a name="overview">Overview</a></h2>
74 <pre>
75 perl Perl overview (this section)
76 <a href="//C|\msysgit\mingw\html/pod/perlintro.html">perlintro</a> Perl introduction for beginners
77 <a href="//C|\msysgit\mingw\html/pod/perltoc.html">perltoc</a> Perl documentation table of contents</pre>
78 <p>
79 </p>
80 <h2><a name="tutorials">Tutorials</a></h2>
81 <pre>
82 <a href="//C|\msysgit\mingw\html/pod/perlreftut.html">perlreftut</a> Perl references short introduction
83 <a href="//C|\msysgit\mingw\html/pod/perldsc.html">perldsc</a> Perl data structures intro
84 <a href="//C|\msysgit\mingw\html/pod/perllol.html">perllol</a> Perl data structures: arrays of arrays</pre>
85 <pre>
86 <a href="//C|\msysgit\mingw\html/pod/perlrequick.html">perlrequick</a> Perl regular expressions quick start
87 <a href="//C|\msysgit\mingw\html/pod/perlretut.html">perlretut</a> Perl regular expressions tutorial</pre>
88 <pre>
89 <a href="//C|\msysgit\mingw\html/pod/perlboot.html">perlboot</a> Perl OO tutorial for beginners
90 <a href="//C|\msysgit\mingw\html/pod/perltoot.html">perltoot</a> Perl OO tutorial, part 1
91 <a href="//C|\msysgit\mingw\html/pod/perltooc.html">perltooc</a> Perl OO tutorial, part 2
92 <a href="//C|\msysgit\mingw\html/pod/perlbot.html">perlbot</a> Perl OO tricks and examples</pre>
93 <pre>
94 <a href="//C|\msysgit\mingw\html/pod/perlstyle.html">perlstyle</a> Perl style guide</pre>
95 <pre>
96 <a href="//C|\msysgit\mingw\html/pod/perlcheat.html">perlcheat</a> Perl cheat sheet
97 <a href="//C|\msysgit\mingw\html/pod/perltrap.html">perltrap</a> Perl traps for the unwary
98 <a href="//C|\msysgit\mingw\html/pod/perldebtut.html">perldebtut</a> Perl debugging tutorial</pre>
99 <pre>
100 <a href="//C|\msysgit\mingw\html/pod/perlfaq.html">perlfaq</a> Perl frequently asked questions
101 <a href="//C|\msysgit\mingw\html/pod/perlfaq1.html">perlfaq1</a> General Questions About Perl
102 <a href="//C|\msysgit\mingw\html/pod/perlfaq2.html">perlfaq2</a> Obtaining and Learning about Perl
103 <a href="//C|\msysgit\mingw\html/pod/perlfaq3.html">perlfaq3</a> Programming Tools
104 <a href="//C|\msysgit\mingw\html/pod/perlfaq4.html">perlfaq4</a> Data Manipulation
105 <a href="//C|\msysgit\mingw\html/pod/perlfaq5.html">perlfaq5</a> Files and Formats
106 <a href="//C|\msysgit\mingw\html/pod/perlfaq6.html">perlfaq6</a> Regexes
107 <a href="//C|\msysgit\mingw\html/pod/perlfaq7.html">perlfaq7</a> Perl Language Issues
108 <a href="//C|\msysgit\mingw\html/pod/perlfaq8.html">perlfaq8</a> System Interaction
109 <a href="//C|\msysgit\mingw\html/pod/perlfaq9.html">perlfaq9</a> Networking</pre>
111 </p>
112 <h2><a name="reference_manual">Reference Manual</a></h2>
113 <pre>
114 <a href="//C|\msysgit\mingw\html/pod/perlsyn.html">perlsyn</a> Perl syntax
115 <a href="//C|\msysgit\mingw\html/pod/perldata.html">perldata</a> Perl data structures
116 <a href="//C|\msysgit\mingw\html/pod/perlop.html">perlop</a> Perl operators and precedence
117 <a href="//C|\msysgit\mingw\html/pod/perlsub.html">perlsub</a> Perl subroutines
118 <a href="//C|\msysgit\mingw\html/pod/perlfunc.html">perlfunc</a> Perl built-in functions
119 <a href="//C|\msysgit\mingw\html/pod/perlopentut.html">perlopentut</a> Perl open() tutorial
120 <a href="//C|\msysgit\mingw\html/pod/perlpacktut.html">perlpacktut</a> Perl pack() and unpack() tutorial
121 <a href="//C|\msysgit\mingw\html/pod/perlpod.html">perlpod</a> Perl plain old documentation
122 <a href="//C|\msysgit\mingw\html/pod/perlpodspec.html">perlpodspec</a> Perl plain old documentation format specification
123 <a href="//C|\msysgit\mingw\html/pod/perlrun.html">perlrun</a> Perl execution and options
124 <a href="//C|\msysgit\mingw\html/pod/perldiag.html">perldiag</a> Perl diagnostic messages
125 <a href="//C|\msysgit\mingw\html/pod/perllexwarn.html">perllexwarn</a> Perl warnings and their control
126 <a href="//C|\msysgit\mingw\html/pod/perldebug.html">perldebug</a> Perl debugging
127 <a href="//C|\msysgit\mingw\html/pod/perlvar.html">perlvar</a> Perl predefined variables
128 <a href="//C|\msysgit\mingw\html/pod/perlre.html">perlre</a> Perl regular expressions, the rest of the story
129 <a href="//C|\msysgit\mingw\html/pod/perlreref.html">perlreref</a> Perl regular expressions quick reference
130 <a href="//C|\msysgit\mingw\html/pod/perlref.html">perlref</a> Perl references, the rest of the story
131 <a href="//C|\msysgit\mingw\html/pod/perlform.html">perlform</a> Perl formats
132 <a href="//C|\msysgit\mingw\html/pod/perlobj.html">perlobj</a> Perl objects
133 <a href="//C|\msysgit\mingw\html/pod/perltie.html">perltie</a> Perl objects hidden behind simple variables
134 <a href="//C|\msysgit\mingw\html/pod/perldbmfilter.html">perldbmfilter</a> Perl DBM filters</pre>
135 <pre>
136 <a href="//C|\msysgit\mingw\html/pod/perlipc.html">perlipc</a> Perl interprocess communication
137 <a href="//C|\msysgit\mingw\html/pod/perlfork.html">perlfork</a> Perl fork() information
138 <a href="//C|\msysgit\mingw\html/pod/perlnumber.html">perlnumber</a> Perl number semantics</pre>
139 <pre>
140 <a href="//C|\msysgit\mingw\html/pod/perlthrtut.html">perlthrtut</a> Perl threads tutorial
141 <a href="//C|\msysgit\mingw\html/pod/perlothrtut.html">perlothrtut</a> Old Perl threads tutorial</pre>
142 <pre>
143 <a href="//C|\msysgit\mingw\html/pod/perlport.html">perlport</a> Perl portability guide
144 <a href="//C|\msysgit\mingw\html/pod/perllocale.html">perllocale</a> Perl locale support
145 <a href="//C|\msysgit\mingw\html/pod/perluniintro.html">perluniintro</a> Perl Unicode introduction
146 <a href="//C|\msysgit\mingw\html/pod/perlunicode.html">perlunicode</a> Perl Unicode support
147 <a href="//C|\msysgit\mingw\html/pod/perlebcdic.html">perlebcdic</a> Considerations for running Perl on EBCDIC platforms</pre>
148 <pre>
149 <a href="//C|\msysgit\mingw\html/pod/perlsec.html">perlsec</a> Perl security</pre>
150 <pre>
151 <a href="//C|\msysgit\mingw\html/pod/perlmod.html">perlmod</a> Perl modules: how they work
152 <a href="//C|\msysgit\mingw\html/pod/perlmodlib.html">perlmodlib</a> Perl modules: how to write and use
153 <a href="//C|\msysgit\mingw\html/pod/perlmodstyle.html">perlmodstyle</a> Perl modules: how to write modules with style
154 <a href="//C|\msysgit\mingw\html/pod/perlmodinstall.html">perlmodinstall</a> Perl modules: how to install from CPAN
155 <a href="//C|\msysgit\mingw\html/pod/perlnewmod.html">perlnewmod</a> Perl modules: preparing a new module for distribution</pre>
156 <pre>
157 <a href="//C|\msysgit\mingw\html/pod/perlutil.html">perlutil</a> utilities packaged with the Perl distribution</pre>
158 <pre>
159 <a href="//C|\msysgit\mingw\html/pod/perlcompile.html">perlcompile</a> Perl compiler suite intro</pre>
160 <pre>
161 <a href="//C|\msysgit\mingw\html/pod/perlfilter.html">perlfilter</a> Perl source filters</pre>
162 <pre>
163 <a href="//C|\msysgit\mingw\html/pod/perlglossary.html">perlglossary</a> Perl Glossary</pre>
165 </p>
166 <h2><a name="internals_and_c_language_interface">Internals and C Language Interface</a></h2>
167 <pre>
168 <a href="//C|\msysgit\mingw\html/pod/perlembed.html">perlembed</a> Perl ways to embed perl in your C or C++ application
169 <a href="//C|\msysgit\mingw\html/pod/perldebguts.html">perldebguts</a> Perl debugging guts and tips
170 <a href="//C|\msysgit\mingw\html/pod/perlxstut.html">perlxstut</a> Perl XS tutorial
171 <a href="//C|\msysgit\mingw\html/pod/perlxs.html">perlxs</a> Perl XS application programming interface
172 <a href="//C|\msysgit\mingw\html/pod/perlclib.html">perlclib</a> Internal replacements for standard C library functions
173 <a href="//C|\msysgit\mingw\html/pod/perlguts.html">perlguts</a> Perl internal functions for those doing extensions
174 <a href="//C|\msysgit\mingw\html/pod/perlcall.html">perlcall</a> Perl calling conventions from C</pre>
175 <pre>
176 <a href="//C|\msysgit\mingw\html/pod/perlapi.html">perlapi</a> Perl API listing (autogenerated)
177 <a href="//C|\msysgit\mingw\html/pod/perlintern.html">perlintern</a> Perl internal functions (autogenerated)
178 <a href="//C|\msysgit\mingw\html/pod/perliol.html">perliol</a> C API for Perl's implementation of IO in Layers
179 <a href="//C|\msysgit\mingw\html/pod/perlapio.html">perlapio</a> Perl internal IO abstraction interface</pre>
180 <pre>
181 <a href="//C|\msysgit\mingw\html/pod/perlhack.html">perlhack</a> Perl hackers guide</pre>
183 </p>
184 <h2><a name="miscellaneous">Miscellaneous</a></h2>
185 <pre>
186 <a href="//C|\msysgit\mingw\html/pod/perlbook.html">perlbook</a> Perl book information
187 <a href="//C|\msysgit\mingw\html/pod/perltodo.html">perltodo</a> Perl things to do</pre>
188 <pre>
189 <a href="//C|\msysgit\mingw\html/pod/perldoc.html">perldoc</a> Look up Perl documentation in Pod format</pre>
190 <pre>
191 <a href="//C|\msysgit\mingw\html/pod/perlhist.html">perlhist</a> Perl history records
192 <a href="//C|\msysgit\mingw\html/pod/perldelta.html">perldelta</a> Perl changes since previous version
193 <a href="//C|\msysgit\mingw\html/pod/perl587delta.html">perl587delta</a> Perl changes in version 5.8.7
194 <a href="//C|\msysgit\mingw\html/pod/perl586delta.html">perl586delta</a> Perl changes in version 5.8.6
195 <a href="//C|\msysgit\mingw\html/pod/perl585delta.html">perl585delta</a> Perl changes in version 5.8.5
196 <a href="//C|\msysgit\mingw\html/pod/perl584delta.html">perl584delta</a> Perl changes in version 5.8.4
197 <a href="//C|\msysgit\mingw\html/pod/perl583delta.html">perl583delta</a> Perl changes in version 5.8.3
198 <a href="//C|\msysgit\mingw\html/pod/perl582delta.html">perl582delta</a> Perl changes in version 5.8.2
199 <a href="//C|\msysgit\mingw\html/pod/perl581delta.html">perl581delta</a> Perl changes in version 5.8.1
200 <a href="//C|\msysgit\mingw\html/pod/perl58delta.html">perl58delta</a> Perl changes in version 5.8.0
201 <a href="//C|\msysgit\mingw\html/pod/perl573delta.html">perl573delta</a> Perl changes in version 5.7.3
202 <a href="//C|\msysgit\mingw\html/pod/perl572delta.html">perl572delta</a> Perl changes in version 5.7.2
203 <a href="//C|\msysgit\mingw\html/pod/perl571delta.html">perl571delta</a> Perl changes in version 5.7.1
204 <a href="//C|\msysgit\mingw\html/pod/perl570delta.html">perl570delta</a> Perl changes in version 5.7.0
205 <a href="//C|\msysgit\mingw\html/pod/perl561delta.html">perl561delta</a> Perl changes in version 5.6.1
206 <a href="//C|\msysgit\mingw\html/pod/perl56delta.html">perl56delta</a> Perl changes in version 5.6
207 <a href="//C|\msysgit\mingw\html/pod/perl5005delta.html">perl5005delta</a> Perl changes in version 5.005
208 <a href="//C|\msysgit\mingw\html/pod/perl5004delta.html">perl5004delta</a> Perl changes in version 5.004</pre>
209 <pre>
210 <a href="//C|\msysgit\mingw\html/pod/perlartistic.html">perlartistic</a> Perl Artistic License
211 <a href="//C|\msysgit\mingw\html/pod/perlgpl.html">perlgpl</a> GNU General Public License</pre>
213 </p>
214 <h2><a name="languagespecific">Language-Specific</a></h2>
215 <pre>
216 <a href="//C|\msysgit\mingw\html/pod/perlcn.html">perlcn</a> Perl for Simplified Chinese (in EUC-CN)
217 <a href="//C|\msysgit\mingw\html/pod/perljp.html">perljp</a> Perl for Japanese (in EUC-JP)
218 <a href="//C|\msysgit\mingw\html/pod/perlko.html">perlko</a> Perl for Korean (in EUC-KR)
219 <a href="//C|\msysgit\mingw\html/pod/perltw.html">perltw</a> Perl for Traditional Chinese (in Big5)</pre>
221 </p>
222 <h2><a name="platformspecific">Platform-Specific</a></h2>
223 <pre>
224 <a href="//C|\msysgit\mingw\html/pod/perlaix.html">perlaix</a> Perl notes for AIX
225 <a href="//C|\msysgit\mingw\html/pod/perlamiga.html">perlamiga</a> Perl notes for AmigaOS
226 <a href="//C|\msysgit\mingw\html/pod/perlapollo.html">perlapollo</a> Perl notes for Apollo DomainOS
227 <a href="//C|\msysgit\mingw\html/pod/perlbeos.html">perlbeos</a> Perl notes for BeOS
228 <a href="//C|\msysgit\mingw\html/pod/perlbs2000.html">perlbs2000</a> Perl notes for POSIX-BC BS2000
229 <a href="//C|\msysgit\mingw\html/pod/perlce.html">perlce</a> Perl notes for WinCE
230 <a href="//C|\msysgit\mingw\html/pod/perlcygwin.html">perlcygwin</a> Perl notes for Cygwin
231 <a href="//C|\msysgit\mingw\html/pod/perldgux.html">perldgux</a> Perl notes for DG/UX
232 <a href="//C|\msysgit\mingw\html/pod/perldos.html">perldos</a> Perl notes for DOS
233 <a href="//C|\msysgit\mingw\html/pod/perlepoc.html">perlepoc</a> Perl notes for EPOC
234 <a href="//C|\msysgit\mingw\html/pod/perlfreebsd.html">perlfreebsd</a> Perl notes for FreeBSD
235 <a href="//C|\msysgit\mingw\html/pod/perlhpux.html">perlhpux</a> Perl notes for HP-UX
236 <a href="//C|\msysgit\mingw\html/pod/perlhurd.html">perlhurd</a> Perl notes for Hurd
237 <a href="//C|\msysgit\mingw\html/pod/perlirix.html">perlirix</a> Perl notes for Irix
238 <a href="//C|\msysgit\mingw\html/pod/perllinux.html">perllinux</a> Perl notes for Linux
239 <a href="//C|\msysgit\mingw\html/pod/perlmachten.html">perlmachten</a> Perl notes for Power MachTen
240 <a href="//C|\msysgit\mingw\html/pod/perlmacos.html">perlmacos</a> Perl notes for Mac OS (Classic)
241 <a href="//C|\msysgit\mingw\html/pod/perlmacosx.html">perlmacosx</a> Perl notes for Mac OS X
242 <a href="//C|\msysgit\mingw\html/pod/perlmint.html">perlmint</a> Perl notes for MiNT
243 <a href="//C|\msysgit\mingw\html/pod/perlmpeix.html">perlmpeix</a> Perl notes for MPE/iX
244 <a href="//C|\msysgit\mingw\html/pod/perlnetware.html">perlnetware</a> Perl notes for NetWare
245 <a href="//C|\msysgit\mingw\html/pod/perlopenbsd.html">perlopenbsd</a> Perl notes for OpenBSD
246 <a href="//C|\msysgit\mingw\html/pod/perlos2.html">perlos2</a> Perl notes for OS/2
247 <a href="//C|\msysgit\mingw\html/pod/perlos390.html">perlos390</a> Perl notes for OS/390
248 <a href="//C|\msysgit\mingw\html/pod/perlos400.html">perlos400</a> Perl notes for OS/400
249 <a href="//C|\msysgit\mingw\html/pod/perlplan9.html">perlplan9</a> Perl notes for Plan 9
250 <a href="//C|\msysgit\mingw\html/pod/perlqnx.html">perlqnx</a> Perl notes for QNX
251 <a href="//C|\msysgit\mingw\html/pod/perlsolaris.html">perlsolaris</a> Perl notes for Solaris
252 <a href="//C|\msysgit\mingw\html/pod/perltru64.html">perltru64</a> Perl notes for Tru64
253 <a href="//C|\msysgit\mingw\html/pod/perluts.html">perluts</a> Perl notes for UTS
254 <a href="//C|\msysgit\mingw\html/pod/perlvmesa.html">perlvmesa</a> Perl notes for VM/ESA
255 <a href="//C|\msysgit\mingw\html/pod/perlvms.html">perlvms</a> Perl notes for VMS
256 <a href="//C|\msysgit\mingw\html/pod/perlvos.html">perlvos</a> Perl notes for Stratus VOS
257 <a href="//C|\msysgit\mingw\html/pod/perlwin32.html">perlwin32</a> Perl notes for Windows</pre>
258 <p>By default, the manpages listed above are installed in the
259 <em>/usr/local/man/</em> directory.</p>
260 <p>Extensive additional documentation for Perl modules is available. The
261 default configuration for perl will place this additional documentation
262 in the <em>/usr/local/lib/perl5/man</em> directory (or else in the <em>man</em>
263 subdirectory of the Perl library directory). Some of this additional
264 documentation is distributed standard with Perl, but you'll also find
265 documentation for third-party modules there.</p>
266 <p>You should be able to view Perl's documentation with your <code>man(1)</code>
267 program by including the proper directories in the appropriate start-up
268 files, or in the MANPATH environment variable. To find out where the
269 configuration has installed the manpages, type:</p>
270 <pre>
271 perl -V:man.dir</pre>
272 <p>If the directories have a common stem, such as <em>/usr/local/man/man1</em>
273 and <em>/usr/local/man/man3</em>, you need only to add that stem
274 (<em>/usr/local/man</em>) to your <code>man(1)</code> configuration files or your MANPATH
275 environment variable. If they do not share a stem, you'll have to add
276 both stems.</p>
277 <p>If that doesn't work for some reason, you can still use the
278 supplied <em>perldoc</em> script to view module information. You might
279 also look into getting a replacement man program.</p>
280 <p>If something strange has gone wrong with your program and you're not
281 sure where you should look for help, try the <strong>-w</strong> switch first. It
282 will often point out exactly where the trouble is.</p>
284 </p>
285 <hr />
286 <h1><a name="description">DESCRIPTION</a></h1>
287 <p>Perl is a language optimized for scanning arbitrary
288 text files, extracting information from those text files, and printing
289 reports based on that information. It's also a good language for many
290 system management tasks. The language is intended to be practical
291 (easy to use, efficient, complete) rather than beautiful (tiny,
292 elegant, minimal).</p>
293 <p>Perl combines (in the author's opinion, anyway) some of the best
294 features of C, <strong>sed</strong>, <strong>awk</strong>, and <strong>sh</strong>, so people familiar with
295 those languages should have little difficulty with it. (Language
296 historians will also note some vestiges of <strong>csh</strong>, Pascal, and even
297 BASIC-PLUS.) Expression syntax corresponds closely to C
298 expression syntax. Unlike most Unix utilities, Perl does not
299 arbitrarily limit the size of your data--if you've got the memory,
300 Perl can slurp in your whole file as a single string. Recursion is of
301 unlimited depth. And the tables used by hashes (sometimes called
302 ``associative arrays'') grow as necessary to prevent degraded
303 performance. Perl can use sophisticated pattern matching techniques to
304 scan large amounts of data quickly. Although optimized for
305 scanning text, Perl can also deal with binary data, and can make dbm
306 files look like hashes. Setuid Perl scripts are safer than C programs
307 through a dataflow tracing mechanism that prevents many stupid
308 security holes.</p>
309 <p>If you have a problem that would ordinarily use <strong>sed</strong> or <strong>awk</strong> or
310 <strong>sh</strong>, but it exceeds their capabilities or must run a little faster,
311 and you don't want to write the silly thing in C, then Perl may be for
312 you. There are also translators to turn your <strong>sed</strong> and <strong>awk</strong>
313 scripts into Perl scripts.</p>
314 <p>But wait, there's more...</p>
315 <p>Begun in 1993 (see <a href="file://C|\msysgit\mingw\html/pod/perlhist.html">the perlhist manpage</a>), Perl version 5 is nearly a complete
316 rewrite that provides the following additional benefits:</p>
317 <ul>
318 <li>
319 <p>modularity and reusability using innumerable modules</p>
320 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perlmod.html">the perlmod manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perlmodlib.html">the perlmodlib manpage</a>, and <a href="file://C|\msysgit\mingw\html/pod/perlmodinstall.html">the perlmodinstall manpage</a>.</p>
321 </li>
322 <li>
323 <p>embeddable and extensible</p>
324 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perlembed.html">the perlembed manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perlxstut.html">the perlxstut manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perlxs.html">the perlxs manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perlcall.html">the perlcall manpage</a>,
325 <a href="file://C|\msysgit\mingw\html/pod/perlguts.html">the perlguts manpage</a>, and <a href="file://C|\msysgit\mingw\html/lib/ExtUtils/xsubpp.html">the xsubpp manpage</a>.</p>
326 </li>
327 <li>
328 <p>roll-your-own magic variables (including multiple simultaneous DBM
329 implementations)</p>
330 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perltie.html">the perltie manpage</a> and <a href="file://C|\msysgit\mingw\html/lib/AnyDBM_File.html">the AnyDBM_File manpage</a>.</p>
331 </li>
332 <li>
333 <p>subroutines can now be overridden, autoloaded, and prototyped</p>
334 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perlsub.html">the perlsub manpage</a>.</p>
335 </li>
336 <li>
337 <p>arbitrarily nested data structures and anonymous functions</p>
338 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perlreftut.html">the perlreftut manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perlref.html">the perlref manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perldsc.html">the perldsc manpage</a>, and <a href="file://C|\msysgit\mingw\html/pod/perllol.html">the perllol manpage</a>.</p>
339 </li>
340 <li>
341 <p>object-oriented programming</p>
342 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perlobj.html">the perlobj manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perlboot.html">the perlboot manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perltoot.html">the perltoot manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perltooc.html">the perltooc manpage</a>,
343 and <a href="file://C|\msysgit\mingw\html/pod/perlbot.html">the perlbot manpage</a>.</p>
344 </li>
345 <li>
346 <p>support for light-weight processes (threads)</p>
347 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perlthrtut.html">the perlthrtut manpage</a> and <a href="file://C|\msysgit\mingw\html/lib/threads.html">the threads manpage</a>.</p>
348 </li>
349 <li>
350 <p>support for Unicode, internationalization, and localization</p>
351 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perluniintro.html">the perluniintro manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perllocale.html">the perllocale manpage</a> and <a href="file://C|\msysgit\mingw\html/lib/Locale/Maketext.html">the Locale::Maketext manpage</a>.</p>
352 </li>
353 <li>
354 <p>lexical scoping</p>
355 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perlsub.html">the perlsub manpage</a>.</p>
356 </li>
357 <li>
358 <p>regular expression enhancements</p>
359 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perlre.html">the perlre manpage</a>, with additional examples in <a href="file://C|\msysgit\mingw\html/pod/perlop.html">the perlop manpage</a>.</p>
360 </li>
361 <li>
362 <p>enhanced debugger and interactive Perl environment,
363 with integrated editor support</p>
364 <p>Described in <a href="file://C|\msysgit\mingw\html/pod/perldebtut.html">the perldebtut manpage</a>, <a href="file://C|\msysgit\mingw\html/pod/perldebug.html">the perldebug manpage</a> and <a href="file://C|\msysgit\mingw\html/pod/perldebguts.html">the perldebguts manpage</a>.</p>
365 </li>
366 <li>
367 <p>POSIX 1003.1 compliant library</p>
368 <p>Described in <a href="file://C|\msysgit\mingw\html/lib/POSIX.html">the POSIX manpage</a>.</p>
369 </li>
370 </ul>
371 <p>Okay, that's <em>definitely</em> enough hype.</p>
373 </p>
374 <hr />
375 <h1><a name="availability">AVAILABILITY</a></h1>
376 <p>Perl is available for most operating systems, including virtually
377 all Unix-like platforms. See <a href="file://C|\msysgit\mingw\html/pod/perlport.html#supported_platforms">Supported Platforms in the perlport manpage</a>
378 for a listing.</p>
380 </p>
381 <hr />
382 <h1><a name="environment">ENVIRONMENT</a></h1>
383 <p>See <a href="file://C|\msysgit\mingw\html/pod/perlrun.html">the perlrun manpage</a>.</p>
385 </p>
386 <hr />
387 <h1><a name="author">AUTHOR</a></h1>
388 <p>Larry Wall &lt;<a href="mailto:larry@wall.org">larry@wall.org</a>&gt;, with the help of oodles of other folks.</p>
389 <p>If your Perl success stories and testimonials may be of help to others
390 who wish to advocate the use of Perl in their applications,
391 or if you wish to simply express your gratitude to Larry and the
392 Perl developers, please write to <a href="mailto:perl-thanks@perl.org">perl-thanks@perl.org</a> .</p>
394 </p>
395 <hr />
396 <h1><a name="files">FILES</a></h1>
397 <pre>
398 &quot;@INC&quot; locations of perl libraries</pre>
400 </p>
401 <hr />
402 <h1><a name="see_also">SEE ALSO</a></h1>
403 <pre>
404 a2p awk to perl translator
405 s2p sed to perl translator</pre>
406 <pre>
407 <a href="http://www.perl.org/">http://www.perl.org/</a> the Perl homepage
408 <a href="http://www.perl.com/">http://www.perl.com/</a> Perl articles (O'Reilly)
409 <a href="http://www.cpan.org/">http://www.cpan.org/</a> the Comprehensive Perl Archive
410 <a href="http://www.pm.org/">http://www.pm.org/</a> the Perl Mongers</pre>
412 </p>
413 <hr />
414 <h1><a name="diagnostics">DIAGNOSTICS</a></h1>
415 <p>The <code>use warnings</code> pragma (and the <strong>-w</strong> switch) produces some
416 lovely diagnostics.</p>
417 <p>See <a href="file://C|\msysgit\mingw\html/pod/perldiag.html">the perldiag manpage</a> for explanations of all Perl's diagnostics. The <code>use
418 diagnostics</code> pragma automatically turns Perl's normally terse warnings
419 and errors into these longer forms.</p>
420 <p>Compilation errors will tell you the line number of the error, with an
421 indication of the next token or token type that was to be examined.
422 (In a script passed to Perl via <strong>-e</strong> switches, each
423 <strong>-e</strong> is counted as one line.)</p>
424 <p>Setuid scripts have additional constraints that can produce error
425 messages such as ``Insecure dependency''. See <a href="file://C|\msysgit\mingw\html/pod/perlsec.html">the perlsec manpage</a>.</p>
426 <p>Did we mention that you should definitely consider using the <strong>-w</strong>
427 switch?</p>
429 </p>
430 <hr />
431 <h1><a name="bugs">BUGS</a></h1>
432 <p>The <strong>-w</strong> switch is not mandatory.</p>
433 <p>Perl is at the mercy of your machine's definitions of various
434 operations such as type casting, atof(), and floating-point
435 output with sprintf().</p>
436 <p>If your stdio requires a seek or eof between reads and writes on a
437 particular stream, so does Perl. (This doesn't apply to <a href="file://C|\msysgit\mingw\html/pod/perlfunc.html#item_sysread"><code>sysread()</code></a>
438 and <a href="file://C|\msysgit\mingw\html/pod/perlfunc.html#item_syswrite"><code>syswrite().)</code></a></p>
439 <p>While none of the built-in data types have any arbitrary size limits
440 (apart from memory size), there are still a few arbitrary limits: a
441 given variable name may not be longer than 251 characters. Line numbers
442 displayed by diagnostics are internally stored as short integers,
443 so they are limited to a maximum of 65535 (higher numbers usually being
444 affected by wraparound).</p>
445 <p>You may mail your bug reports (be sure to include full configuration
446 information as output by the myconfig program in the perl source
447 tree, or by <code>perl -V</code>) to <a href="mailto:perlbug@perl.org">perlbug@perl.org</a> . If you've succeeded
448 in compiling perl, the <strong>perlbug</strong> script in the <em>utils/</em> subdirectory
449 can be used to help mail in a bug report.</p>
450 <p>Perl actually stands for Pathologically Eclectic Rubbish Lister, but
451 don't tell anyone I said that.</p>
453 </p>
454 <hr />
455 <h1><a name="notes">NOTES</a></h1>
456 <p>The Perl motto is ``There's more than one way to do it.'' Divining
457 how many more is left as an exercise to the reader.</p>
458 <p>The three principal virtues of a programmer are Laziness,
459 Impatience, and Hubris. See the Camel Book for why.</p>
460 <table border="0" width="100%" cellspacing="0" cellpadding="3">
461 <tr><td class="block" style="background-color: #cccccc" valign="middle">
462 <big><strong><span class="block">&nbsp;perl - Practical Extraction and Report Language</span></strong></big>
463 </td></tr>
464 </table>
466 </body>
468 </html>