xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/pod/perlfaq.pod (revision 0:68f95e015346)
1*0Sstevel@tonic-gate=head1 NAME
2*0Sstevel@tonic-gate
3*0Sstevel@tonic-gateperlfaq - frequently asked questions about Perl ($Date: 2003/01/31 17:37:17 $)
4*0Sstevel@tonic-gate
5*0Sstevel@tonic-gate=head1 DESCRIPTION
6*0Sstevel@tonic-gate
7*0Sstevel@tonic-gateThe perlfaq is divided into several documents based on topics.  A table
8*0Sstevel@tonic-gateof contents is at the end of this document.
9*0Sstevel@tonic-gate
10*0Sstevel@tonic-gate=head2 Where to get the perlfaq
11*0Sstevel@tonic-gate
12*0Sstevel@tonic-gateExtracts of the perlfaq are posted regularly to
13*0Sstevel@tonic-gatecomp.lang.perl.misc.  It is available on many web sites:
14*0Sstevel@tonic-gatehttp://www.perldoc.com/ and http://faq.perl.org/
15*0Sstevel@tonic-gate
16*0Sstevel@tonic-gate=head2 How to contribute to the perlfaq
17*0Sstevel@tonic-gate
18*0Sstevel@tonic-gateYou may mail corrections, additions, and suggestions to
19*0Sstevel@tonic-gateperlfaq-workers@perl.org .  This alias should not be used to
20*0Sstevel@tonic-gateI<ask> FAQs.  It's for fixing the current FAQ. Send
21*0Sstevel@tonic-gatequestions to the comp.lang.perl.misc newsgroup.  You can
22*0Sstevel@tonic-gateview the source tree at http://cvs.perl.org/cvsweb/perlfaq/
23*0Sstevel@tonic-gate(which is outside of the main Perl source tree).  The CVS
24*0Sstevel@tonic-gaterepository notes all changes to the FAQ.
25*0Sstevel@tonic-gate
26*0Sstevel@tonic-gate=head2 What will happen if you mail your Perl programming problems to the authors
27*0Sstevel@tonic-gate
28*0Sstevel@tonic-gateYour questions will probably go unread, unless they're
29*0Sstevel@tonic-gatesuggestions of new questions to add to the FAQ, in which
30*0Sstevel@tonic-gatecase they should have gone to the perlfaq-workers@perl.org
31*0Sstevel@tonic-gateinstead.
32*0Sstevel@tonic-gate
33*0Sstevel@tonic-gateYou should have read section 2 of this faq.  There you would
34*0Sstevel@tonic-gatehave learned that comp.lang.perl.misc is the appropriate
35*0Sstevel@tonic-gateplace to go for free advice.  If your question is really
36*0Sstevel@tonic-gateimportant and you require a prompt and correct answer, you
37*0Sstevel@tonic-gateshould hire a consultant.
38*0Sstevel@tonic-gate
39*0Sstevel@tonic-gate=head1 Credits
40*0Sstevel@tonic-gate
41*0Sstevel@tonic-gateThe original perlfaq was written by Tom Christiansen, then expanded
42*0Sstevel@tonic-gateby collaboration between Tom and Nathan Torkington.  The current
43*0Sstevel@tonic-gatedocument is maintained by the perlfaq-workers (perlfaq-workers@perl.org).
44*0Sstevel@tonic-gateSeveral people have contributed answers, corrections, and comments.
45*0Sstevel@tonic-gate
46*0Sstevel@tonic-gate=head1 Author and Copyright Information
47*0Sstevel@tonic-gate
48*0Sstevel@tonic-gateCopyright (c) 1997-2003 Tom Christiansen, Nathan Torkington, and
49*0Sstevel@tonic-gateother contributors noted in the answers.
50*0Sstevel@tonic-gate
51*0Sstevel@tonic-gateAll rights reserved.
52*0Sstevel@tonic-gate
53*0Sstevel@tonic-gate=head2 Bundled Distributions
54*0Sstevel@tonic-gate
55*0Sstevel@tonic-gateThis documentation is free; you can redistribute it and/or modify it
56*0Sstevel@tonic-gateunder the same terms as Perl itself.
57*0Sstevel@tonic-gate
58*0Sstevel@tonic-gateIrrespective of its distribution, all code examples in these files
59*0Sstevel@tonic-gateare hereby placed into the public domain.  You are permitted and
60*0Sstevel@tonic-gateencouraged to use this code in your own programs for fun
61*0Sstevel@tonic-gateor for profit as you see fit.  A simple comment in the code giving
62*0Sstevel@tonic-gatecredit would be courteous but is not required.
63*0Sstevel@tonic-gate
64*0Sstevel@tonic-gate=head2 Disclaimer
65*0Sstevel@tonic-gate
66*0Sstevel@tonic-gateThis information is offered in good faith and in the hope that it may
67*0Sstevel@tonic-gatebe of use, but is not guaranteed to be correct, up to date, or suitable
68*0Sstevel@tonic-gatefor any particular purpose whatsoever.  The authors accept no liability
69*0Sstevel@tonic-gatein respect of this information or its use.
70*0Sstevel@tonic-gate
71*0Sstevel@tonic-gate=head1 Table of Contents
72*0Sstevel@tonic-gate
73*0Sstevel@tonic-gate=over 4
74*0Sstevel@tonic-gate
75*0Sstevel@tonic-gate=item perlfaq  - this document
76*0Sstevel@tonic-gate
77*0Sstevel@tonic-gate=item perlfaq1 - General Questions About Perl
78*0Sstevel@tonic-gate
79*0Sstevel@tonic-gate=item perlfaq2 - Obtaining and Learning about Perl
80*0Sstevel@tonic-gate
81*0Sstevel@tonic-gate=item perlfaq3 - Programming Tools
82*0Sstevel@tonic-gate
83*0Sstevel@tonic-gate=item perlfaq4 - Data Manipulation
84*0Sstevel@tonic-gate
85*0Sstevel@tonic-gate=item perlfaq5 - Files and Formats
86*0Sstevel@tonic-gate
87*0Sstevel@tonic-gate=item perlfaq6 - Regular Expressions
88*0Sstevel@tonic-gate
89*0Sstevel@tonic-gate=item perlfaq7 - General Perl Language Issues
90*0Sstevel@tonic-gate
91*0Sstevel@tonic-gate=item perlfaq8 - System Interaction
92*0Sstevel@tonic-gate
93*0Sstevel@tonic-gate=item perlfaq9 - Networking
94*0Sstevel@tonic-gate
95*0Sstevel@tonic-gate
96*0Sstevel@tonic-gate=back
97*0Sstevel@tonic-gate
98*0Sstevel@tonic-gate
99*0Sstevel@tonic-gate=head1 The Questions
100*0Sstevel@tonic-gate
101*0Sstevel@tonic-gate=head2 L<perlfaq1>: General Questions About Perl
102*0Sstevel@tonic-gate
103*0Sstevel@tonic-gateVery general, high-level questions about Perl.
104*0Sstevel@tonic-gate
105*0Sstevel@tonic-gate=over 4
106*0Sstevel@tonic-gate
107*0Sstevel@tonic-gate=item *
108*0Sstevel@tonic-gate
109*0Sstevel@tonic-gateWhat is Perl?
110*0Sstevel@tonic-gate
111*0Sstevel@tonic-gate=item *
112*0Sstevel@tonic-gate
113*0Sstevel@tonic-gateWho supports Perl?  Who develops it?  Why is it free?
114*0Sstevel@tonic-gate
115*0Sstevel@tonic-gate=item *
116*0Sstevel@tonic-gate
117*0Sstevel@tonic-gateWhich version of Perl should I use?
118*0Sstevel@tonic-gate
119*0Sstevel@tonic-gate=item *
120*0Sstevel@tonic-gate
121*0Sstevel@tonic-gateWhat are perl4 and perl5?
122*0Sstevel@tonic-gate
123*0Sstevel@tonic-gate=item *
124*0Sstevel@tonic-gate
125*0Sstevel@tonic-gateWhat is perl6?
126*0Sstevel@tonic-gate
127*0Sstevel@tonic-gate=item *
128*0Sstevel@tonic-gate
129*0Sstevel@tonic-gateHow stable is Perl?
130*0Sstevel@tonic-gate
131*0Sstevel@tonic-gate=item *
132*0Sstevel@tonic-gate
133*0Sstevel@tonic-gateIs Perl difficult to learn?
134*0Sstevel@tonic-gate
135*0Sstevel@tonic-gate=item *
136*0Sstevel@tonic-gate
137*0Sstevel@tonic-gateHow does Perl compare with other languages like Java, Python, REXX, Scheme, or Tcl?
138*0Sstevel@tonic-gate
139*0Sstevel@tonic-gate=item *
140*0Sstevel@tonic-gate
141*0Sstevel@tonic-gateCan I do [task] in Perl?
142*0Sstevel@tonic-gate
143*0Sstevel@tonic-gate=item *
144*0Sstevel@tonic-gate
145*0Sstevel@tonic-gateWhen shouldn't I program in Perl?
146*0Sstevel@tonic-gate
147*0Sstevel@tonic-gate=item *
148*0Sstevel@tonic-gate
149*0Sstevel@tonic-gateWhat's the difference between "perl" and "Perl"?
150*0Sstevel@tonic-gate
151*0Sstevel@tonic-gate=item *
152*0Sstevel@tonic-gate
153*0Sstevel@tonic-gateIs it a Perl program or a Perl script?
154*0Sstevel@tonic-gate
155*0Sstevel@tonic-gate=item *
156*0Sstevel@tonic-gate
157*0Sstevel@tonic-gateWhat is a JAPH?
158*0Sstevel@tonic-gate
159*0Sstevel@tonic-gate=item *
160*0Sstevel@tonic-gate
161*0Sstevel@tonic-gateWhere can I get a list of Larry Wall witticisms?
162*0Sstevel@tonic-gate
163*0Sstevel@tonic-gate=item *
164*0Sstevel@tonic-gate
165*0Sstevel@tonic-gateHow can I convince my sysadmin/supervisor/employees to use version 5/5.6.1/Perl instead of some other language?
166*0Sstevel@tonic-gate
167*0Sstevel@tonic-gate=back
168*0Sstevel@tonic-gate
169*0Sstevel@tonic-gate
170*0Sstevel@tonic-gate=head2 L<perlfaq2>: Obtaining and Learning about Perl
171*0Sstevel@tonic-gate
172*0Sstevel@tonic-gateWhere to find source and documentation for Perl, support,
173*0Sstevel@tonic-gateand related matters.
174*0Sstevel@tonic-gate
175*0Sstevel@tonic-gate=over 4
176*0Sstevel@tonic-gate
177*0Sstevel@tonic-gate=item *
178*0Sstevel@tonic-gate
179*0Sstevel@tonic-gateWhat machines support Perl?  Where do I get it?
180*0Sstevel@tonic-gate
181*0Sstevel@tonic-gate=item *
182*0Sstevel@tonic-gate
183*0Sstevel@tonic-gateHow can I get a binary version of Perl?
184*0Sstevel@tonic-gate
185*0Sstevel@tonic-gate=item *
186*0Sstevel@tonic-gate
187*0Sstevel@tonic-gateI don't have a C compiler on my system.  How can I compile perl?
188*0Sstevel@tonic-gate
189*0Sstevel@tonic-gate=item *
190*0Sstevel@tonic-gate
191*0Sstevel@tonic-gateI copied the Perl binary from one machine to another, but scripts don't work.
192*0Sstevel@tonic-gate
193*0Sstevel@tonic-gate=item *
194*0Sstevel@tonic-gate
195*0Sstevel@tonic-gateI grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed.  How do I make it work?
196*0Sstevel@tonic-gate
197*0Sstevel@tonic-gate=item *
198*0Sstevel@tonic-gate
199*0Sstevel@tonic-gateWhat modules and extensions are available for Perl?  What is CPAN?  What does CPAN/src/... mean?
200*0Sstevel@tonic-gate
201*0Sstevel@tonic-gate=item *
202*0Sstevel@tonic-gate
203*0Sstevel@tonic-gateIs there an ISO or ANSI certified version of Perl?
204*0Sstevel@tonic-gate
205*0Sstevel@tonic-gate=item *
206*0Sstevel@tonic-gate
207*0Sstevel@tonic-gateWhere can I get information on Perl?
208*0Sstevel@tonic-gate
209*0Sstevel@tonic-gate=item *
210*0Sstevel@tonic-gate
211*0Sstevel@tonic-gateWhat are the Perl newsgroups on Usenet?  Where do I post questions?
212*0Sstevel@tonic-gate
213*0Sstevel@tonic-gate=item *
214*0Sstevel@tonic-gate
215*0Sstevel@tonic-gateWhere should I post source code?
216*0Sstevel@tonic-gate
217*0Sstevel@tonic-gate=item *
218*0Sstevel@tonic-gate
219*0Sstevel@tonic-gatePerl Books
220*0Sstevel@tonic-gate
221*0Sstevel@tonic-gate=item *
222*0Sstevel@tonic-gate
223*0Sstevel@tonic-gatePerl in Magazines
224*0Sstevel@tonic-gate
225*0Sstevel@tonic-gate=item *
226*0Sstevel@tonic-gate
227*0Sstevel@tonic-gatePerl on the Net: FTP and WWW Access
228*0Sstevel@tonic-gate
229*0Sstevel@tonic-gate=item *
230*0Sstevel@tonic-gate
231*0Sstevel@tonic-gateWhat mailing lists are there for Perl?
232*0Sstevel@tonic-gate
233*0Sstevel@tonic-gate=item *
234*0Sstevel@tonic-gate
235*0Sstevel@tonic-gateArchives of comp.lang.perl.misc
236*0Sstevel@tonic-gate
237*0Sstevel@tonic-gate=item *
238*0Sstevel@tonic-gate
239*0Sstevel@tonic-gateWhere can I buy a commercial version of Perl?
240*0Sstevel@tonic-gate
241*0Sstevel@tonic-gate=item *
242*0Sstevel@tonic-gate
243*0Sstevel@tonic-gateWhere do I send bug reports?
244*0Sstevel@tonic-gate
245*0Sstevel@tonic-gate=item *
246*0Sstevel@tonic-gate
247*0Sstevel@tonic-gateWhat is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
248*0Sstevel@tonic-gate
249*0Sstevel@tonic-gate=back
250*0Sstevel@tonic-gate
251*0Sstevel@tonic-gate
252*0Sstevel@tonic-gate=head2 L<perlfaq3>: Programming Tools
253*0Sstevel@tonic-gate
254*0Sstevel@tonic-gateProgrammer tools and programming support.
255*0Sstevel@tonic-gate
256*0Sstevel@tonic-gate=over 4
257*0Sstevel@tonic-gate
258*0Sstevel@tonic-gate=item *
259*0Sstevel@tonic-gate
260*0Sstevel@tonic-gateHow do I do (anything)?
261*0Sstevel@tonic-gate
262*0Sstevel@tonic-gate=item *
263*0Sstevel@tonic-gate
264*0Sstevel@tonic-gateHow can I use Perl interactively?
265*0Sstevel@tonic-gate
266*0Sstevel@tonic-gate=item *
267*0Sstevel@tonic-gate
268*0Sstevel@tonic-gateIs there a Perl shell?
269*0Sstevel@tonic-gate
270*0Sstevel@tonic-gate=item *
271*0Sstevel@tonic-gate
272*0Sstevel@tonic-gateHow do I find which modules are installed on my system?
273*0Sstevel@tonic-gate
274*0Sstevel@tonic-gate=item *
275*0Sstevel@tonic-gate
276*0Sstevel@tonic-gateHow do I debug my Perl programs?
277*0Sstevel@tonic-gate
278*0Sstevel@tonic-gate=item *
279*0Sstevel@tonic-gate
280*0Sstevel@tonic-gateHow do I profile my Perl programs?
281*0Sstevel@tonic-gate
282*0Sstevel@tonic-gate=item *
283*0Sstevel@tonic-gate
284*0Sstevel@tonic-gateHow do I cross-reference my Perl programs?
285*0Sstevel@tonic-gate
286*0Sstevel@tonic-gate=item *
287*0Sstevel@tonic-gate
288*0Sstevel@tonic-gateIs there a pretty-printer (formatter) for Perl?
289*0Sstevel@tonic-gate
290*0Sstevel@tonic-gate=item *
291*0Sstevel@tonic-gate
292*0Sstevel@tonic-gateIs there a ctags for Perl?
293*0Sstevel@tonic-gate
294*0Sstevel@tonic-gate=item *
295*0Sstevel@tonic-gate
296*0Sstevel@tonic-gateIs there an IDE or Windows Perl Editor?
297*0Sstevel@tonic-gate
298*0Sstevel@tonic-gate=item *
299*0Sstevel@tonic-gate
300*0Sstevel@tonic-gateWhere can I get Perl macros for vi?
301*0Sstevel@tonic-gate
302*0Sstevel@tonic-gate=item *
303*0Sstevel@tonic-gate
304*0Sstevel@tonic-gateWhere can I get perl-mode for emacs?
305*0Sstevel@tonic-gate
306*0Sstevel@tonic-gate=item *
307*0Sstevel@tonic-gate
308*0Sstevel@tonic-gateHow can I use curses with Perl?
309*0Sstevel@tonic-gate
310*0Sstevel@tonic-gate=item *
311*0Sstevel@tonic-gate
312*0Sstevel@tonic-gateHow can I use X or Tk with Perl?
313*0Sstevel@tonic-gate
314*0Sstevel@tonic-gate=item *
315*0Sstevel@tonic-gate
316*0Sstevel@tonic-gateHow can I generate simple menus without using CGI or Tk?
317*0Sstevel@tonic-gate
318*0Sstevel@tonic-gate=item *
319*0Sstevel@tonic-gate
320*0Sstevel@tonic-gateHow can I make my Perl program run faster?
321*0Sstevel@tonic-gate
322*0Sstevel@tonic-gate=item *
323*0Sstevel@tonic-gate
324*0Sstevel@tonic-gateHow can I make my Perl program take less memory?
325*0Sstevel@tonic-gate
326*0Sstevel@tonic-gate=item *
327*0Sstevel@tonic-gate
328*0Sstevel@tonic-gateIs it safe to return a reference to local or lexical data?
329*0Sstevel@tonic-gate
330*0Sstevel@tonic-gate=item *
331*0Sstevel@tonic-gate
332*0Sstevel@tonic-gateHow can I free an array or hash so my program shrinks?
333*0Sstevel@tonic-gate
334*0Sstevel@tonic-gate=item *
335*0Sstevel@tonic-gate
336*0Sstevel@tonic-gateHow can I make my CGI script more efficient?
337*0Sstevel@tonic-gate
338*0Sstevel@tonic-gate=item *
339*0Sstevel@tonic-gate
340*0Sstevel@tonic-gateHow can I hide the source for my Perl program?
341*0Sstevel@tonic-gate
342*0Sstevel@tonic-gate=item *
343*0Sstevel@tonic-gate
344*0Sstevel@tonic-gateHow can I compile my Perl program into byte code or C?
345*0Sstevel@tonic-gate
346*0Sstevel@tonic-gate=item *
347*0Sstevel@tonic-gate
348*0Sstevel@tonic-gateHow can I compile Perl into Java?
349*0Sstevel@tonic-gate
350*0Sstevel@tonic-gate=item *
351*0Sstevel@tonic-gate
352*0Sstevel@tonic-gateHow can I get C<#!perl> to work on [MS-DOS,NT,...]?
353*0Sstevel@tonic-gate
354*0Sstevel@tonic-gate=item *
355*0Sstevel@tonic-gate
356*0Sstevel@tonic-gateCan I write useful Perl programs on the command line?
357*0Sstevel@tonic-gate
358*0Sstevel@tonic-gate=item *
359*0Sstevel@tonic-gate
360*0Sstevel@tonic-gateWhy don't Perl one-liners work on my DOS/Mac/VMS system?
361*0Sstevel@tonic-gate
362*0Sstevel@tonic-gate=item *
363*0Sstevel@tonic-gate
364*0Sstevel@tonic-gateWhere can I learn about CGI or Web programming in Perl?
365*0Sstevel@tonic-gate
366*0Sstevel@tonic-gate=item *
367*0Sstevel@tonic-gate
368*0Sstevel@tonic-gateWhere can I learn about object-oriented Perl programming?
369*0Sstevel@tonic-gate
370*0Sstevel@tonic-gate=item *
371*0Sstevel@tonic-gate
372*0Sstevel@tonic-gateWhere can I learn about linking C with Perl? [h2xs, xsubpp]
373*0Sstevel@tonic-gate
374*0Sstevel@tonic-gate=item *
375*0Sstevel@tonic-gate
376*0Sstevel@tonic-gateI've read perlembed, perlguts, etc., but I can't embed perl in
377*0Sstevel@tonic-gatemy C program; what am I doing wrong?
378*0Sstevel@tonic-gate
379*0Sstevel@tonic-gate=item *
380*0Sstevel@tonic-gate
381*0Sstevel@tonic-gateWhen I tried to run my script, I got this message. What does it mean?
382*0Sstevel@tonic-gate
383*0Sstevel@tonic-gate=item *
384*0Sstevel@tonic-gate
385*0Sstevel@tonic-gateWhat's MakeMaker?
386*0Sstevel@tonic-gate
387*0Sstevel@tonic-gate=back
388*0Sstevel@tonic-gate
389*0Sstevel@tonic-gate
390*0Sstevel@tonic-gate=head2 L<perlfaq4>: Data Manipulation
391*0Sstevel@tonic-gate
392*0Sstevel@tonic-gateManipulating numbers, dates, strings, arrays, hashes, and
393*0Sstevel@tonic-gatemiscellaneous data issues.
394*0Sstevel@tonic-gate
395*0Sstevel@tonic-gate=over 4
396*0Sstevel@tonic-gate
397*0Sstevel@tonic-gate=item *
398*0Sstevel@tonic-gate
399*0Sstevel@tonic-gateWhy am I getting long decimals (eg, 19.9499999999999) instead of the numbers I should be getting (eg, 19.95)?
400*0Sstevel@tonic-gate
401*0Sstevel@tonic-gate=item *
402*0Sstevel@tonic-gate
403*0Sstevel@tonic-gateWhy isn't my octal data interpreted correctly?
404*0Sstevel@tonic-gate
405*0Sstevel@tonic-gate=item *
406*0Sstevel@tonic-gate
407*0Sstevel@tonic-gateDoes Perl have a round() function?  What about ceil() and floor()?  Trig functions?
408*0Sstevel@tonic-gate
409*0Sstevel@tonic-gate=item *
410*0Sstevel@tonic-gate
411*0Sstevel@tonic-gateHow do I convert between numeric representations?
412*0Sstevel@tonic-gate
413*0Sstevel@tonic-gate=item *
414*0Sstevel@tonic-gate
415*0Sstevel@tonic-gateWhy doesn't & work the way I want it to?
416*0Sstevel@tonic-gate
417*0Sstevel@tonic-gate=item *
418*0Sstevel@tonic-gate
419*0Sstevel@tonic-gateHow do I multiply matrices?
420*0Sstevel@tonic-gate
421*0Sstevel@tonic-gate=item *
422*0Sstevel@tonic-gate
423*0Sstevel@tonic-gateHow do I perform an operation on a series of integers?
424*0Sstevel@tonic-gate
425*0Sstevel@tonic-gate=item *
426*0Sstevel@tonic-gate
427*0Sstevel@tonic-gateHow can I output Roman numerals?
428*0Sstevel@tonic-gate
429*0Sstevel@tonic-gate=item *
430*0Sstevel@tonic-gate
431*0Sstevel@tonic-gateWhy aren't my random numbers random?
432*0Sstevel@tonic-gate
433*0Sstevel@tonic-gate=item *
434*0Sstevel@tonic-gate
435*0Sstevel@tonic-gateHow do I get a random number between X and Y?
436*0Sstevel@tonic-gate
437*0Sstevel@tonic-gate=item *
438*0Sstevel@tonic-gate
439*0Sstevel@tonic-gateHow do I find the day or week of the year?
440*0Sstevel@tonic-gate
441*0Sstevel@tonic-gate=item *
442*0Sstevel@tonic-gate
443*0Sstevel@tonic-gateHow do I find the current century or millennium?
444*0Sstevel@tonic-gate
445*0Sstevel@tonic-gate=item *
446*0Sstevel@tonic-gate
447*0Sstevel@tonic-gateHow can I compare two dates and find the difference?
448*0Sstevel@tonic-gate
449*0Sstevel@tonic-gate=item *
450*0Sstevel@tonic-gate
451*0Sstevel@tonic-gateHow can I take a string and turn it into epoch seconds?
452*0Sstevel@tonic-gate
453*0Sstevel@tonic-gate=item *
454*0Sstevel@tonic-gate
455*0Sstevel@tonic-gateHow can I find the Julian Day?
456*0Sstevel@tonic-gate
457*0Sstevel@tonic-gate=item *
458*0Sstevel@tonic-gate
459*0Sstevel@tonic-gateHow do I find yesterday's date?
460*0Sstevel@tonic-gate
461*0Sstevel@tonic-gate=item *
462*0Sstevel@tonic-gate
463*0Sstevel@tonic-gateDoes Perl have a Year 2000 problem?  Is Perl Y2K compliant?
464*0Sstevel@tonic-gate
465*0Sstevel@tonic-gate=item *
466*0Sstevel@tonic-gate
467*0Sstevel@tonic-gateHow do I validate input?
468*0Sstevel@tonic-gate
469*0Sstevel@tonic-gate=item *
470*0Sstevel@tonic-gate
471*0Sstevel@tonic-gateHow do I unescape a string?
472*0Sstevel@tonic-gate
473*0Sstevel@tonic-gate=item *
474*0Sstevel@tonic-gate
475*0Sstevel@tonic-gateHow do I remove consecutive pairs of characters?
476*0Sstevel@tonic-gate
477*0Sstevel@tonic-gate=item *
478*0Sstevel@tonic-gate
479*0Sstevel@tonic-gateHow do I expand function calls in a string?
480*0Sstevel@tonic-gate
481*0Sstevel@tonic-gate=item *
482*0Sstevel@tonic-gate
483*0Sstevel@tonic-gateHow do I find matching/nesting anything?
484*0Sstevel@tonic-gate
485*0Sstevel@tonic-gate=item *
486*0Sstevel@tonic-gate
487*0Sstevel@tonic-gateHow do I reverse a string?
488*0Sstevel@tonic-gate
489*0Sstevel@tonic-gate=item *
490*0Sstevel@tonic-gate
491*0Sstevel@tonic-gateHow do I expand tabs in a string?
492*0Sstevel@tonic-gate
493*0Sstevel@tonic-gate=item *
494*0Sstevel@tonic-gate
495*0Sstevel@tonic-gateHow do I reformat a paragraph?
496*0Sstevel@tonic-gate
497*0Sstevel@tonic-gate=item *
498*0Sstevel@tonic-gate
499*0Sstevel@tonic-gateHow can I access or change N characters of a string?
500*0Sstevel@tonic-gate
501*0Sstevel@tonic-gate=item *
502*0Sstevel@tonic-gate
503*0Sstevel@tonic-gateHow do I change the Nth occurrence of something?
504*0Sstevel@tonic-gate
505*0Sstevel@tonic-gate=item *
506*0Sstevel@tonic-gate
507*0Sstevel@tonic-gateHow can I count the number of occurrences of a substring within a string?
508*0Sstevel@tonic-gate
509*0Sstevel@tonic-gate=item *
510*0Sstevel@tonic-gate
511*0Sstevel@tonic-gateHow do I capitalize all the words on one line?
512*0Sstevel@tonic-gate
513*0Sstevel@tonic-gate=item *
514*0Sstevel@tonic-gate
515*0Sstevel@tonic-gateHow can I split a [character] delimited string except when inside [character]?
516*0Sstevel@tonic-gate
517*0Sstevel@tonic-gate=item *
518*0Sstevel@tonic-gate
519*0Sstevel@tonic-gateHow do I strip blank space from the beginning/end of a string?
520*0Sstevel@tonic-gate
521*0Sstevel@tonic-gate=item *
522*0Sstevel@tonic-gate
523*0Sstevel@tonic-gateHow do I pad a string with blanks or pad a number with zeroes?
524*0Sstevel@tonic-gate
525*0Sstevel@tonic-gate=item *
526*0Sstevel@tonic-gate
527*0Sstevel@tonic-gateHow do I extract selected columns from a string?
528*0Sstevel@tonic-gate
529*0Sstevel@tonic-gate=item *
530*0Sstevel@tonic-gate
531*0Sstevel@tonic-gateHow do I find the soundex value of a string?
532*0Sstevel@tonic-gate
533*0Sstevel@tonic-gate=item *
534*0Sstevel@tonic-gate
535*0Sstevel@tonic-gateHow can I expand variables in text strings?
536*0Sstevel@tonic-gate
537*0Sstevel@tonic-gate=item *
538*0Sstevel@tonic-gate
539*0Sstevel@tonic-gateWhat's wrong with always quoting "$vars"?
540*0Sstevel@tonic-gate
541*0Sstevel@tonic-gate=item *
542*0Sstevel@tonic-gate
543*0Sstevel@tonic-gateWhy don't my E<lt>E<lt>HERE documents work?
544*0Sstevel@tonic-gate
545*0Sstevel@tonic-gate=item *
546*0Sstevel@tonic-gate
547*0Sstevel@tonic-gateWhat is the difference between a list and an array?
548*0Sstevel@tonic-gate
549*0Sstevel@tonic-gate=item *
550*0Sstevel@tonic-gate
551*0Sstevel@tonic-gateWhat is the difference between $array[1] and @array[1]?
552*0Sstevel@tonic-gate
553*0Sstevel@tonic-gate=item *
554*0Sstevel@tonic-gate
555*0Sstevel@tonic-gateHow can I remove duplicate elements from a list or array?
556*0Sstevel@tonic-gate
557*0Sstevel@tonic-gate=item *
558*0Sstevel@tonic-gate
559*0Sstevel@tonic-gateHow can I tell whether a certain element is contained in a list or array?
560*0Sstevel@tonic-gate
561*0Sstevel@tonic-gate=item *
562*0Sstevel@tonic-gate
563*0Sstevel@tonic-gateHow do I compute the difference of two arrays?  How do I compute the intersection of two arrays?
564*0Sstevel@tonic-gate
565*0Sstevel@tonic-gate=item *
566*0Sstevel@tonic-gate
567*0Sstevel@tonic-gateHow do I test whether two arrays or hashes are equal?
568*0Sstevel@tonic-gate
569*0Sstevel@tonic-gate=item *
570*0Sstevel@tonic-gate
571*0Sstevel@tonic-gateHow do I find the first array element for which a condition is true?
572*0Sstevel@tonic-gate
573*0Sstevel@tonic-gate=item *
574*0Sstevel@tonic-gate
575*0Sstevel@tonic-gateHow do I handle linked lists?
576*0Sstevel@tonic-gate
577*0Sstevel@tonic-gate=item *
578*0Sstevel@tonic-gate
579*0Sstevel@tonic-gateHow do I handle circular lists?
580*0Sstevel@tonic-gate
581*0Sstevel@tonic-gate=item *
582*0Sstevel@tonic-gate
583*0Sstevel@tonic-gateHow do I shuffle an array randomly?
584*0Sstevel@tonic-gate
585*0Sstevel@tonic-gate=item *
586*0Sstevel@tonic-gate
587*0Sstevel@tonic-gateHow do I process/modify each element of an array?
588*0Sstevel@tonic-gate
589*0Sstevel@tonic-gate=item *
590*0Sstevel@tonic-gate
591*0Sstevel@tonic-gateHow do I select a random element from an array?
592*0Sstevel@tonic-gate
593*0Sstevel@tonic-gate=item *
594*0Sstevel@tonic-gate
595*0Sstevel@tonic-gateHow do I permute N elements of a list?
596*0Sstevel@tonic-gate
597*0Sstevel@tonic-gate=item *
598*0Sstevel@tonic-gate
599*0Sstevel@tonic-gateHow do I sort an array by (anything)?
600*0Sstevel@tonic-gate
601*0Sstevel@tonic-gate=item *
602*0Sstevel@tonic-gate
603*0Sstevel@tonic-gateHow do I manipulate arrays of bits?
604*0Sstevel@tonic-gate
605*0Sstevel@tonic-gate=item *
606*0Sstevel@tonic-gate
607*0Sstevel@tonic-gateWhy does defined() return true on empty arrays and hashes?
608*0Sstevel@tonic-gate
609*0Sstevel@tonic-gate=item *
610*0Sstevel@tonic-gate
611*0Sstevel@tonic-gateHow do I process an entire hash?
612*0Sstevel@tonic-gate
613*0Sstevel@tonic-gate=item *
614*0Sstevel@tonic-gate
615*0Sstevel@tonic-gateWhat happens if I add or remove keys from a hash while iterating over it?
616*0Sstevel@tonic-gate
617*0Sstevel@tonic-gate=item *
618*0Sstevel@tonic-gate
619*0Sstevel@tonic-gateHow do I look up a hash element by value?
620*0Sstevel@tonic-gate
621*0Sstevel@tonic-gate=item *
622*0Sstevel@tonic-gate
623*0Sstevel@tonic-gateHow can I know how many entries are in a hash?
624*0Sstevel@tonic-gate
625*0Sstevel@tonic-gate=item *
626*0Sstevel@tonic-gate
627*0Sstevel@tonic-gateHow do I sort a hash (optionally by value instead of key)?
628*0Sstevel@tonic-gate
629*0Sstevel@tonic-gate=item *
630*0Sstevel@tonic-gate
631*0Sstevel@tonic-gateHow can I always keep my hash sorted?
632*0Sstevel@tonic-gate
633*0Sstevel@tonic-gate=item *
634*0Sstevel@tonic-gate
635*0Sstevel@tonic-gateWhat's the difference between "delete" and "undef" with hashes?
636*0Sstevel@tonic-gate
637*0Sstevel@tonic-gate=item *
638*0Sstevel@tonic-gate
639*0Sstevel@tonic-gateWhy don't my tied hashes make the defined/exists distinction?
640*0Sstevel@tonic-gate
641*0Sstevel@tonic-gate=item *
642*0Sstevel@tonic-gate
643*0Sstevel@tonic-gateHow do I reset an each() operation part-way through?
644*0Sstevel@tonic-gate
645*0Sstevel@tonic-gate=item *
646*0Sstevel@tonic-gate
647*0Sstevel@tonic-gateHow can I get the unique keys from two hashes?
648*0Sstevel@tonic-gate
649*0Sstevel@tonic-gate=item *
650*0Sstevel@tonic-gate
651*0Sstevel@tonic-gateHow can I store a multidimensional array in a DBM file?
652*0Sstevel@tonic-gate
653*0Sstevel@tonic-gate=item *
654*0Sstevel@tonic-gate
655*0Sstevel@tonic-gateHow can I make my hash remember the order I put elements into it?
656*0Sstevel@tonic-gate
657*0Sstevel@tonic-gate=item *
658*0Sstevel@tonic-gate
659*0Sstevel@tonic-gateWhy does passing a subroutine an undefined element in a hash create it?
660*0Sstevel@tonic-gate
661*0Sstevel@tonic-gate=item *
662*0Sstevel@tonic-gate
663*0Sstevel@tonic-gateHow can I make the Perl equivalent of a C structure/C++ class/hash or array of hashes or arrays?
664*0Sstevel@tonic-gate
665*0Sstevel@tonic-gate=item *
666*0Sstevel@tonic-gate
667*0Sstevel@tonic-gateHow can I use a reference as a hash key?
668*0Sstevel@tonic-gate
669*0Sstevel@tonic-gate=item *
670*0Sstevel@tonic-gate
671*0Sstevel@tonic-gateHow do I handle binary data correctly?
672*0Sstevel@tonic-gate
673*0Sstevel@tonic-gate=item *
674*0Sstevel@tonic-gate
675*0Sstevel@tonic-gateHow do I determine whether a scalar is a number/whole/integer/float?
676*0Sstevel@tonic-gate
677*0Sstevel@tonic-gate=item *
678*0Sstevel@tonic-gate
679*0Sstevel@tonic-gateHow do I keep persistent data across program calls?
680*0Sstevel@tonic-gate
681*0Sstevel@tonic-gate=item *
682*0Sstevel@tonic-gate
683*0Sstevel@tonic-gateHow do I print out or copy a recursive data structure?
684*0Sstevel@tonic-gate
685*0Sstevel@tonic-gate=item *
686*0Sstevel@tonic-gate
687*0Sstevel@tonic-gateHow do I define methods for every class/object?
688*0Sstevel@tonic-gate
689*0Sstevel@tonic-gate=item *
690*0Sstevel@tonic-gate
691*0Sstevel@tonic-gateHow do I verify a credit card checksum?
692*0Sstevel@tonic-gate
693*0Sstevel@tonic-gate=item *
694*0Sstevel@tonic-gate
695*0Sstevel@tonic-gateHow do I pack arrays of doubles or floats for XS code?
696*0Sstevel@tonic-gate
697*0Sstevel@tonic-gate=back
698*0Sstevel@tonic-gate
699*0Sstevel@tonic-gate
700*0Sstevel@tonic-gate=head2 L<perlfaq5>: Files and Formats
701*0Sstevel@tonic-gate
702*0Sstevel@tonic-gateI/O and the "f" issues: filehandles, flushing, formats, and footers.
703*0Sstevel@tonic-gate
704*0Sstevel@tonic-gate=over 4
705*0Sstevel@tonic-gate
706*0Sstevel@tonic-gate=item *
707*0Sstevel@tonic-gate
708*0Sstevel@tonic-gateHow do I flush/unbuffer an output filehandle?  Why must I do this?
709*0Sstevel@tonic-gate
710*0Sstevel@tonic-gate=item *
711*0Sstevel@tonic-gate
712*0Sstevel@tonic-gateHow do I change one line in a file/delete a line in a file/insert a line in the middle of a file/append to the beginning of a file?
713*0Sstevel@tonic-gate
714*0Sstevel@tonic-gate=item *
715*0Sstevel@tonic-gate
716*0Sstevel@tonic-gateHow do I count the number of lines in a file?
717*0Sstevel@tonic-gate
718*0Sstevel@tonic-gate=item *
719*0Sstevel@tonic-gate
720*0Sstevel@tonic-gateHow can I use Perl's C<-i> option from within a program?
721*0Sstevel@tonic-gate
722*0Sstevel@tonic-gate=item *
723*0Sstevel@tonic-gate
724*0Sstevel@tonic-gateHow do I make a temporary file name?
725*0Sstevel@tonic-gate
726*0Sstevel@tonic-gate=item *
727*0Sstevel@tonic-gate
728*0Sstevel@tonic-gateHow can I manipulate fixed-record-length files?
729*0Sstevel@tonic-gate
730*0Sstevel@tonic-gate=item *
731*0Sstevel@tonic-gate
732*0Sstevel@tonic-gateHow can I make a filehandle local to a subroutine?  How do I pass filehandles between subroutines?  How do I make an array of filehandles?
733*0Sstevel@tonic-gate
734*0Sstevel@tonic-gate=item *
735*0Sstevel@tonic-gate
736*0Sstevel@tonic-gateHow can I use a filehandle indirectly?
737*0Sstevel@tonic-gate
738*0Sstevel@tonic-gate=item *
739*0Sstevel@tonic-gate
740*0Sstevel@tonic-gateHow can I set up a footer format to be used with write()?
741*0Sstevel@tonic-gate
742*0Sstevel@tonic-gate=item *
743*0Sstevel@tonic-gate
744*0Sstevel@tonic-gateHow can I write() into a string?
745*0Sstevel@tonic-gate
746*0Sstevel@tonic-gate=item *
747*0Sstevel@tonic-gate
748*0Sstevel@tonic-gateHow can I output my numbers with commas added?
749*0Sstevel@tonic-gate
750*0Sstevel@tonic-gate=item *
751*0Sstevel@tonic-gate
752*0Sstevel@tonic-gateHow can I translate tildes (~) in a filename?
753*0Sstevel@tonic-gate
754*0Sstevel@tonic-gate=item *
755*0Sstevel@tonic-gate
756*0Sstevel@tonic-gateHow come when I open a file read-write it wipes it out?
757*0Sstevel@tonic-gate
758*0Sstevel@tonic-gate=item *
759*0Sstevel@tonic-gate
760*0Sstevel@tonic-gateWhy do I sometimes get an "Argument list too long" when I use E<lt>*E<gt>?
761*0Sstevel@tonic-gate
762*0Sstevel@tonic-gate=item *
763*0Sstevel@tonic-gate
764*0Sstevel@tonic-gateIs there a leak/bug in glob()?
765*0Sstevel@tonic-gate
766*0Sstevel@tonic-gate=item *
767*0Sstevel@tonic-gate
768*0Sstevel@tonic-gateHow can I open a file with a leading ">" or trailing blanks?
769*0Sstevel@tonic-gate
770*0Sstevel@tonic-gate=item *
771*0Sstevel@tonic-gate
772*0Sstevel@tonic-gateHow can I reliably rename a file?
773*0Sstevel@tonic-gate
774*0Sstevel@tonic-gate=item *
775*0Sstevel@tonic-gate
776*0Sstevel@tonic-gateHow can I lock a file?
777*0Sstevel@tonic-gate
778*0Sstevel@tonic-gate=item *
779*0Sstevel@tonic-gate
780*0Sstevel@tonic-gateWhy can't I just open(FH, "E<gt>file.lock")?
781*0Sstevel@tonic-gate
782*0Sstevel@tonic-gate=item *
783*0Sstevel@tonic-gate
784*0Sstevel@tonic-gateI still don't get locking.  I just want to increment the number in the file.  How can I do this?
785*0Sstevel@tonic-gate
786*0Sstevel@tonic-gate=item *
787*0Sstevel@tonic-gate
788*0Sstevel@tonic-gateAll I want to do is append a small amount of text to the end of a file.  Do I still have to use locking?
789*0Sstevel@tonic-gate
790*0Sstevel@tonic-gate=item *
791*0Sstevel@tonic-gate
792*0Sstevel@tonic-gateHow do I randomly update a binary file?
793*0Sstevel@tonic-gate
794*0Sstevel@tonic-gate=item *
795*0Sstevel@tonic-gate
796*0Sstevel@tonic-gateHow do I get a file's timestamp in perl?
797*0Sstevel@tonic-gate
798*0Sstevel@tonic-gate=item *
799*0Sstevel@tonic-gate
800*0Sstevel@tonic-gateHow do I set a file's timestamp in perl?
801*0Sstevel@tonic-gate
802*0Sstevel@tonic-gate=item *
803*0Sstevel@tonic-gate
804*0Sstevel@tonic-gateHow do I print to more than one file at once?
805*0Sstevel@tonic-gate
806*0Sstevel@tonic-gate=item *
807*0Sstevel@tonic-gate
808*0Sstevel@tonic-gateHow can I read in an entire file all at once?
809*0Sstevel@tonic-gate
810*0Sstevel@tonic-gate=item *
811*0Sstevel@tonic-gate
812*0Sstevel@tonic-gateHow can I read in a file by paragraphs?
813*0Sstevel@tonic-gate
814*0Sstevel@tonic-gate=item *
815*0Sstevel@tonic-gate
816*0Sstevel@tonic-gateHow can I read a single character from a file?  From the keyboard?
817*0Sstevel@tonic-gate
818*0Sstevel@tonic-gate=item *
819*0Sstevel@tonic-gate
820*0Sstevel@tonic-gateHow can I tell whether there's a character waiting on a filehandle?
821*0Sstevel@tonic-gate
822*0Sstevel@tonic-gate=item *
823*0Sstevel@tonic-gate
824*0Sstevel@tonic-gateHow do I do a C<tail -f> in perl?
825*0Sstevel@tonic-gate
826*0Sstevel@tonic-gate=item *
827*0Sstevel@tonic-gate
828*0Sstevel@tonic-gateHow do I dup() a filehandle in Perl?
829*0Sstevel@tonic-gate
830*0Sstevel@tonic-gate=item *
831*0Sstevel@tonic-gate
832*0Sstevel@tonic-gateHow do I close a file descriptor by number?
833*0Sstevel@tonic-gate
834*0Sstevel@tonic-gate=item *
835*0Sstevel@tonic-gate
836*0Sstevel@tonic-gateWhy can't I use "C:\temp\foo" in DOS paths?  What doesn't `C:\temp\foo.exe` work?
837*0Sstevel@tonic-gate
838*0Sstevel@tonic-gate=item *
839*0Sstevel@tonic-gate
840*0Sstevel@tonic-gateWhy doesn't glob("*.*") get all the files?
841*0Sstevel@tonic-gate
842*0Sstevel@tonic-gate=item *
843*0Sstevel@tonic-gate
844*0Sstevel@tonic-gateWhy does Perl let me delete read-only files?  Why does C<-i> clobber protected files?  Isn't this a bug in Perl?
845*0Sstevel@tonic-gate
846*0Sstevel@tonic-gate=item *
847*0Sstevel@tonic-gate
848*0Sstevel@tonic-gateHow do I select a random line from a file?
849*0Sstevel@tonic-gate
850*0Sstevel@tonic-gate=item *
851*0Sstevel@tonic-gate
852*0Sstevel@tonic-gateWhy do I get weird spaces when I print an array of lines?
853*0Sstevel@tonic-gate
854*0Sstevel@tonic-gate=back
855*0Sstevel@tonic-gate
856*0Sstevel@tonic-gate
857*0Sstevel@tonic-gate=head2 L<perlfaq6>: Regular Expressions
858*0Sstevel@tonic-gate
859*0Sstevel@tonic-gatePattern matching and regular expressions.
860*0Sstevel@tonic-gate
861*0Sstevel@tonic-gate=over 4
862*0Sstevel@tonic-gate
863*0Sstevel@tonic-gate=item *
864*0Sstevel@tonic-gate
865*0Sstevel@tonic-gateHow can I hope to use regular expressions without creating illegible and unmaintainable code?
866*0Sstevel@tonic-gate
867*0Sstevel@tonic-gate=item *
868*0Sstevel@tonic-gate
869*0Sstevel@tonic-gateI'm having trouble matching over more than one line.  What's wrong?
870*0Sstevel@tonic-gate
871*0Sstevel@tonic-gate=item *
872*0Sstevel@tonic-gate
873*0Sstevel@tonic-gateHow can I pull out lines between two patterns that are themselves on different lines?
874*0Sstevel@tonic-gate
875*0Sstevel@tonic-gate=item *
876*0Sstevel@tonic-gate
877*0Sstevel@tonic-gateI put a regular expression into $/ but it didn't work. What's wrong?
878*0Sstevel@tonic-gate
879*0Sstevel@tonic-gate=item *
880*0Sstevel@tonic-gate
881*0Sstevel@tonic-gateHow do I substitute case insensitively on the LHS while preserving case on the RHS?
882*0Sstevel@tonic-gate
883*0Sstevel@tonic-gate=item *
884*0Sstevel@tonic-gate
885*0Sstevel@tonic-gateHow can I make C<\w> match national character sets?
886*0Sstevel@tonic-gate
887*0Sstevel@tonic-gate=item *
888*0Sstevel@tonic-gate
889*0Sstevel@tonic-gateHow can I match a locale-smart version of C</[a-zA-Z]/>?
890*0Sstevel@tonic-gate
891*0Sstevel@tonic-gate=item *
892*0Sstevel@tonic-gate
893*0Sstevel@tonic-gateHow can I quote a variable to use in a regex?
894*0Sstevel@tonic-gate
895*0Sstevel@tonic-gate=item *
896*0Sstevel@tonic-gate
897*0Sstevel@tonic-gateWhat is C</o> really for?
898*0Sstevel@tonic-gate
899*0Sstevel@tonic-gate=item *
900*0Sstevel@tonic-gate
901*0Sstevel@tonic-gateHow do I use a regular expression to strip C style comments from a file?
902*0Sstevel@tonic-gate
903*0Sstevel@tonic-gate=item *
904*0Sstevel@tonic-gate
905*0Sstevel@tonic-gateCan I use Perl regular expressions to match balanced text?
906*0Sstevel@tonic-gate
907*0Sstevel@tonic-gate=item *
908*0Sstevel@tonic-gate
909*0Sstevel@tonic-gateWhat does it mean that regexes are greedy?  How can I get around it?
910*0Sstevel@tonic-gate
911*0Sstevel@tonic-gate=item *
912*0Sstevel@tonic-gate
913*0Sstevel@tonic-gateHow do I process each word on each line?
914*0Sstevel@tonic-gate
915*0Sstevel@tonic-gate=item *
916*0Sstevel@tonic-gate
917*0Sstevel@tonic-gateHow can I print out a word-frequency or line-frequency summary?
918*0Sstevel@tonic-gate
919*0Sstevel@tonic-gate=item *
920*0Sstevel@tonic-gate
921*0Sstevel@tonic-gateHow can I do approximate matching?
922*0Sstevel@tonic-gate
923*0Sstevel@tonic-gate=item *
924*0Sstevel@tonic-gate
925*0Sstevel@tonic-gateHow do I efficiently match many regular expressions at once?
926*0Sstevel@tonic-gate
927*0Sstevel@tonic-gate=item *
928*0Sstevel@tonic-gate
929*0Sstevel@tonic-gateWhy don't word-boundary searches with C<\b> work for me?
930*0Sstevel@tonic-gate
931*0Sstevel@tonic-gate=item *
932*0Sstevel@tonic-gate
933*0Sstevel@tonic-gateWhy does using $&, $`, or $' slow my program down?
934*0Sstevel@tonic-gate
935*0Sstevel@tonic-gate=item *
936*0Sstevel@tonic-gate
937*0Sstevel@tonic-gateWhat good is C<\G> in a regular expression?
938*0Sstevel@tonic-gate
939*0Sstevel@tonic-gate=item *
940*0Sstevel@tonic-gate
941*0Sstevel@tonic-gateAre Perl regexes DFAs or NFAs?  Are they POSIX compliant?
942*0Sstevel@tonic-gate
943*0Sstevel@tonic-gate=item *
944*0Sstevel@tonic-gate
945*0Sstevel@tonic-gateWhat's wrong with using grep or map in a void context?
946*0Sstevel@tonic-gate
947*0Sstevel@tonic-gate=item *
948*0Sstevel@tonic-gate
949*0Sstevel@tonic-gateHow can I match strings with multibyte characters?
950*0Sstevel@tonic-gate
951*0Sstevel@tonic-gate=item *
952*0Sstevel@tonic-gate
953*0Sstevel@tonic-gateHow do I match a pattern that is supplied by the user?
954*0Sstevel@tonic-gate
955*0Sstevel@tonic-gate=back
956*0Sstevel@tonic-gate
957*0Sstevel@tonic-gate
958*0Sstevel@tonic-gate=head2 L<perlfaq7>: General Perl Language Issues
959*0Sstevel@tonic-gate
960*0Sstevel@tonic-gateGeneral Perl language issues that don't clearly fit into any of the
961*0Sstevel@tonic-gateother sections.
962*0Sstevel@tonic-gate
963*0Sstevel@tonic-gate=over 4
964*0Sstevel@tonic-gate
965*0Sstevel@tonic-gate=item *
966*0Sstevel@tonic-gate
967*0Sstevel@tonic-gateCan I get a BNF/yacc/RE for the Perl language?
968*0Sstevel@tonic-gate
969*0Sstevel@tonic-gate=item *
970*0Sstevel@tonic-gate
971*0Sstevel@tonic-gateWhat are all these $@%&* punctuation signs, and how do I know when to use them?
972*0Sstevel@tonic-gate
973*0Sstevel@tonic-gate=item *
974*0Sstevel@tonic-gate
975*0Sstevel@tonic-gateDo I always/never have to quote my strings or use semicolons and commas?
976*0Sstevel@tonic-gate
977*0Sstevel@tonic-gate=item *
978*0Sstevel@tonic-gate
979*0Sstevel@tonic-gateHow do I skip some return values?
980*0Sstevel@tonic-gate
981*0Sstevel@tonic-gate=item *
982*0Sstevel@tonic-gate
983*0Sstevel@tonic-gateHow do I temporarily block warnings?
984*0Sstevel@tonic-gate
985*0Sstevel@tonic-gate=item *
986*0Sstevel@tonic-gate
987*0Sstevel@tonic-gateWhat's an extension?
988*0Sstevel@tonic-gate
989*0Sstevel@tonic-gate=item *
990*0Sstevel@tonic-gate
991*0Sstevel@tonic-gateWhy do Perl operators have different precedence than C operators?
992*0Sstevel@tonic-gate
993*0Sstevel@tonic-gate=item *
994*0Sstevel@tonic-gate
995*0Sstevel@tonic-gateHow do I declare/create a structure?
996*0Sstevel@tonic-gate
997*0Sstevel@tonic-gate=item *
998*0Sstevel@tonic-gate
999*0Sstevel@tonic-gateHow do I create a module?
1000*0Sstevel@tonic-gate
1001*0Sstevel@tonic-gate=item *
1002*0Sstevel@tonic-gate
1003*0Sstevel@tonic-gateHow do I create a class?
1004*0Sstevel@tonic-gate
1005*0Sstevel@tonic-gate=item *
1006*0Sstevel@tonic-gate
1007*0Sstevel@tonic-gateHow can I tell if a variable is tainted?
1008*0Sstevel@tonic-gate
1009*0Sstevel@tonic-gate=item *
1010*0Sstevel@tonic-gate
1011*0Sstevel@tonic-gateWhat's a closure?
1012*0Sstevel@tonic-gate
1013*0Sstevel@tonic-gate=item *
1014*0Sstevel@tonic-gate
1015*0Sstevel@tonic-gateWhat is variable suicide and how can I prevent it?
1016*0Sstevel@tonic-gate
1017*0Sstevel@tonic-gate=item *
1018*0Sstevel@tonic-gate
1019*0Sstevel@tonic-gateHow can I pass/return a {Function, FileHandle, Array, Hash, Method, Regex}?
1020*0Sstevel@tonic-gate
1021*0Sstevel@tonic-gate=item *
1022*0Sstevel@tonic-gate
1023*0Sstevel@tonic-gateHow do I create a static variable?
1024*0Sstevel@tonic-gate
1025*0Sstevel@tonic-gate=item *
1026*0Sstevel@tonic-gate
1027*0Sstevel@tonic-gateWhat's the difference between dynamic and lexical (static) scoping?  Between local() and my()?
1028*0Sstevel@tonic-gate
1029*0Sstevel@tonic-gate=item *
1030*0Sstevel@tonic-gate
1031*0Sstevel@tonic-gateHow can I access a dynamic variable while a similarly named lexical is in scope?
1032*0Sstevel@tonic-gate
1033*0Sstevel@tonic-gate=item *
1034*0Sstevel@tonic-gate
1035*0Sstevel@tonic-gateWhat's the difference between deep and shallow binding?
1036*0Sstevel@tonic-gate
1037*0Sstevel@tonic-gate=item *
1038*0Sstevel@tonic-gate
1039*0Sstevel@tonic-gateWhy doesn't "my($foo) = E<lt>FILEE<gt>;" work right?
1040*0Sstevel@tonic-gate
1041*0Sstevel@tonic-gate=item *
1042*0Sstevel@tonic-gate
1043*0Sstevel@tonic-gateHow do I redefine a builtin function, operator, or method?
1044*0Sstevel@tonic-gate
1045*0Sstevel@tonic-gate=item *
1046*0Sstevel@tonic-gate
1047*0Sstevel@tonic-gateWhat's the difference between calling a function as &foo and foo()?
1048*0Sstevel@tonic-gate
1049*0Sstevel@tonic-gate=item *
1050*0Sstevel@tonic-gate
1051*0Sstevel@tonic-gateHow do I create a switch or case statement?
1052*0Sstevel@tonic-gate
1053*0Sstevel@tonic-gate=item *
1054*0Sstevel@tonic-gate
1055*0Sstevel@tonic-gateHow can I catch accesses to undefined variables, functions, or methods?
1056*0Sstevel@tonic-gate
1057*0Sstevel@tonic-gate=item *
1058*0Sstevel@tonic-gate
1059*0Sstevel@tonic-gateWhy can't a method included in this same file be found?
1060*0Sstevel@tonic-gate
1061*0Sstevel@tonic-gate=item *
1062*0Sstevel@tonic-gate
1063*0Sstevel@tonic-gateHow can I find out my current package?
1064*0Sstevel@tonic-gate
1065*0Sstevel@tonic-gate=item *
1066*0Sstevel@tonic-gate
1067*0Sstevel@tonic-gateHow can I comment out a large block of perl code?
1068*0Sstevel@tonic-gate
1069*0Sstevel@tonic-gate=item *
1070*0Sstevel@tonic-gate
1071*0Sstevel@tonic-gateHow do I clear a package?
1072*0Sstevel@tonic-gate
1073*0Sstevel@tonic-gate=item *
1074*0Sstevel@tonic-gate
1075*0Sstevel@tonic-gateHow can I use a variable as a variable name?
1076*0Sstevel@tonic-gate
1077*0Sstevel@tonic-gate=item *
1078*0Sstevel@tonic-gate
1079*0Sstevel@tonic-gateWhat does "bad interpreter" mean?
1080*0Sstevel@tonic-gate
1081*0Sstevel@tonic-gate=back
1082*0Sstevel@tonic-gate
1083*0Sstevel@tonic-gate
1084*0Sstevel@tonic-gate=head2 L<perlfaq8>: System Interaction
1085*0Sstevel@tonic-gate
1086*0Sstevel@tonic-gateInterprocess communication (IPC), control over the user-interface
1087*0Sstevel@tonic-gate(keyboard, screen and pointing devices).
1088*0Sstevel@tonic-gate
1089*0Sstevel@tonic-gate=over 4
1090*0Sstevel@tonic-gate
1091*0Sstevel@tonic-gate=item *
1092*0Sstevel@tonic-gate
1093*0Sstevel@tonic-gateHow do I find out which operating system I'm running under?
1094*0Sstevel@tonic-gate
1095*0Sstevel@tonic-gate=item *
1096*0Sstevel@tonic-gate
1097*0Sstevel@tonic-gateHow come exec() doesn't return?
1098*0Sstevel@tonic-gate
1099*0Sstevel@tonic-gate=item *
1100*0Sstevel@tonic-gate
1101*0Sstevel@tonic-gateHow do I do fancy stuff with the keyboard/screen/mouse?
1102*0Sstevel@tonic-gate
1103*0Sstevel@tonic-gate=item *
1104*0Sstevel@tonic-gate
1105*0Sstevel@tonic-gateHow do I print something out in color?
1106*0Sstevel@tonic-gate
1107*0Sstevel@tonic-gate=item *
1108*0Sstevel@tonic-gate
1109*0Sstevel@tonic-gateHow do I read just one key without waiting for a return key?
1110*0Sstevel@tonic-gate
1111*0Sstevel@tonic-gate=item *
1112*0Sstevel@tonic-gate
1113*0Sstevel@tonic-gateHow do I check whether input is ready on the keyboard?
1114*0Sstevel@tonic-gate
1115*0Sstevel@tonic-gate=item *
1116*0Sstevel@tonic-gate
1117*0Sstevel@tonic-gateHow do I clear the screen?
1118*0Sstevel@tonic-gate
1119*0Sstevel@tonic-gate=item *
1120*0Sstevel@tonic-gate
1121*0Sstevel@tonic-gateHow do I get the screen size?
1122*0Sstevel@tonic-gate
1123*0Sstevel@tonic-gate=item *
1124*0Sstevel@tonic-gate
1125*0Sstevel@tonic-gateHow do I ask the user for a password?
1126*0Sstevel@tonic-gate
1127*0Sstevel@tonic-gate=item *
1128*0Sstevel@tonic-gate
1129*0Sstevel@tonic-gateHow do I read and write the serial port?
1130*0Sstevel@tonic-gate
1131*0Sstevel@tonic-gate=item *
1132*0Sstevel@tonic-gate
1133*0Sstevel@tonic-gateHow do I decode encrypted password files?
1134*0Sstevel@tonic-gate
1135*0Sstevel@tonic-gate=item *
1136*0Sstevel@tonic-gate
1137*0Sstevel@tonic-gateHow do I start a process in the background?
1138*0Sstevel@tonic-gate
1139*0Sstevel@tonic-gate=item *
1140*0Sstevel@tonic-gate
1141*0Sstevel@tonic-gateHow do I trap control characters/signals?
1142*0Sstevel@tonic-gate
1143*0Sstevel@tonic-gate=item *
1144*0Sstevel@tonic-gate
1145*0Sstevel@tonic-gateHow do I modify the shadow password file on a Unix system?
1146*0Sstevel@tonic-gate
1147*0Sstevel@tonic-gate=item *
1148*0Sstevel@tonic-gate
1149*0Sstevel@tonic-gateHow do I set the time and date?
1150*0Sstevel@tonic-gate
1151*0Sstevel@tonic-gate=item *
1152*0Sstevel@tonic-gate
1153*0Sstevel@tonic-gateHow can I sleep() or alarm() for under a second?
1154*0Sstevel@tonic-gate
1155*0Sstevel@tonic-gate=item *
1156*0Sstevel@tonic-gate
1157*0Sstevel@tonic-gateHow can I measure time under a second?
1158*0Sstevel@tonic-gate
1159*0Sstevel@tonic-gate=item *
1160*0Sstevel@tonic-gate
1161*0Sstevel@tonic-gateHow can I do an atexit() or setjmp()/longjmp()? (Exception handling)
1162*0Sstevel@tonic-gate
1163*0Sstevel@tonic-gate=item *
1164*0Sstevel@tonic-gate
1165*0Sstevel@tonic-gateWhy doesn't my sockets program work under System V (Solaris)?  What does the error message "Protocol not supported" mean?
1166*0Sstevel@tonic-gate
1167*0Sstevel@tonic-gate=item *
1168*0Sstevel@tonic-gate
1169*0Sstevel@tonic-gateHow can I call my system's unique C functions from Perl?
1170*0Sstevel@tonic-gate
1171*0Sstevel@tonic-gate=item *
1172*0Sstevel@tonic-gate
1173*0Sstevel@tonic-gateWhere do I get the include files to do ioctl() or syscall()?
1174*0Sstevel@tonic-gate
1175*0Sstevel@tonic-gate=item *
1176*0Sstevel@tonic-gate
1177*0Sstevel@tonic-gateWhy do setuid perl scripts complain about kernel problems?
1178*0Sstevel@tonic-gate
1179*0Sstevel@tonic-gate=item *
1180*0Sstevel@tonic-gate
1181*0Sstevel@tonic-gateHow can I open a pipe both to and from a command?
1182*0Sstevel@tonic-gate
1183*0Sstevel@tonic-gate=item *
1184*0Sstevel@tonic-gate
1185*0Sstevel@tonic-gateWhy can't I get the output of a command with system()?
1186*0Sstevel@tonic-gate
1187*0Sstevel@tonic-gate=item *
1188*0Sstevel@tonic-gate
1189*0Sstevel@tonic-gateHow can I capture STDERR from an external command?
1190*0Sstevel@tonic-gate
1191*0Sstevel@tonic-gate=item *
1192*0Sstevel@tonic-gate
1193*0Sstevel@tonic-gateWhy doesn't open() return an error when a pipe open fails?
1194*0Sstevel@tonic-gate
1195*0Sstevel@tonic-gate=item *
1196*0Sstevel@tonic-gate
1197*0Sstevel@tonic-gateWhat's wrong with using backticks in a void context?
1198*0Sstevel@tonic-gate
1199*0Sstevel@tonic-gate=item *
1200*0Sstevel@tonic-gate
1201*0Sstevel@tonic-gateHow can I call backticks without shell processing?
1202*0Sstevel@tonic-gate
1203*0Sstevel@tonic-gate=item *
1204*0Sstevel@tonic-gate
1205*0Sstevel@tonic-gateWhy can't my script read from STDIN after I gave it EOF (^D on Unix, ^Z on MS-DOS)?
1206*0Sstevel@tonic-gate
1207*0Sstevel@tonic-gate=item *
1208*0Sstevel@tonic-gate
1209*0Sstevel@tonic-gateHow can I convert my shell script to perl?
1210*0Sstevel@tonic-gate
1211*0Sstevel@tonic-gate=item *
1212*0Sstevel@tonic-gate
1213*0Sstevel@tonic-gateCan I use perl to run a telnet or ftp session?
1214*0Sstevel@tonic-gate
1215*0Sstevel@tonic-gate=item *
1216*0Sstevel@tonic-gate
1217*0Sstevel@tonic-gateHow can I write expect in Perl?
1218*0Sstevel@tonic-gate
1219*0Sstevel@tonic-gate=item *
1220*0Sstevel@tonic-gate
1221*0Sstevel@tonic-gateIs there a way to hide perl's command line from programs such as "ps"?
1222*0Sstevel@tonic-gate
1223*0Sstevel@tonic-gate=item *
1224*0Sstevel@tonic-gate
1225*0Sstevel@tonic-gateI {changed directory, modified my environment} in a perl script.  How come the change disappeared when I exited the script?  How do I get my changes to be visible?
1226*0Sstevel@tonic-gate
1227*0Sstevel@tonic-gate=item *
1228*0Sstevel@tonic-gate
1229*0Sstevel@tonic-gateHow do I close a process's filehandle without waiting for it to complete?
1230*0Sstevel@tonic-gate
1231*0Sstevel@tonic-gate=item *
1232*0Sstevel@tonic-gate
1233*0Sstevel@tonic-gateHow do I fork a daemon process?
1234*0Sstevel@tonic-gate
1235*0Sstevel@tonic-gate=item *
1236*0Sstevel@tonic-gate
1237*0Sstevel@tonic-gateHow do I find out if I'm running interactively or not?
1238*0Sstevel@tonic-gate
1239*0Sstevel@tonic-gate=item *
1240*0Sstevel@tonic-gate
1241*0Sstevel@tonic-gateHow do I timeout a slow event?
1242*0Sstevel@tonic-gate
1243*0Sstevel@tonic-gate=item *
1244*0Sstevel@tonic-gate
1245*0Sstevel@tonic-gateHow do I set CPU limits?
1246*0Sstevel@tonic-gate
1247*0Sstevel@tonic-gate=item *
1248*0Sstevel@tonic-gate
1249*0Sstevel@tonic-gateHow do I avoid zombies on a Unix system?
1250*0Sstevel@tonic-gate
1251*0Sstevel@tonic-gate=item *
1252*0Sstevel@tonic-gate
1253*0Sstevel@tonic-gateHow do I use an SQL database?
1254*0Sstevel@tonic-gate
1255*0Sstevel@tonic-gate=item *
1256*0Sstevel@tonic-gate
1257*0Sstevel@tonic-gateHow do I make a system() exit on control-C?
1258*0Sstevel@tonic-gate
1259*0Sstevel@tonic-gate=item *
1260*0Sstevel@tonic-gate
1261*0Sstevel@tonic-gateHow do I open a file without blocking?
1262*0Sstevel@tonic-gate
1263*0Sstevel@tonic-gate=item *
1264*0Sstevel@tonic-gate
1265*0Sstevel@tonic-gateHow do I install a module from CPAN?
1266*0Sstevel@tonic-gate
1267*0Sstevel@tonic-gate=item *
1268*0Sstevel@tonic-gate
1269*0Sstevel@tonic-gateWhat's the difference between require and use?
1270*0Sstevel@tonic-gate
1271*0Sstevel@tonic-gate=item *
1272*0Sstevel@tonic-gate
1273*0Sstevel@tonic-gateHow do I keep my own module/library directory?
1274*0Sstevel@tonic-gate
1275*0Sstevel@tonic-gate=item *
1276*0Sstevel@tonic-gate
1277*0Sstevel@tonic-gateHow do I add the directory my program lives in to the module/library search path?
1278*0Sstevel@tonic-gate
1279*0Sstevel@tonic-gate=item *
1280*0Sstevel@tonic-gate
1281*0Sstevel@tonic-gateHow do I add a directory to my include path at runtime?
1282*0Sstevel@tonic-gate
1283*0Sstevel@tonic-gate=item *
1284*0Sstevel@tonic-gate
1285*0Sstevel@tonic-gateWhat is socket.ph and where do I get it?
1286*0Sstevel@tonic-gate
1287*0Sstevel@tonic-gate=back
1288*0Sstevel@tonic-gate
1289*0Sstevel@tonic-gate
1290*0Sstevel@tonic-gate=head2 L<perlfaq9>: Networking
1291*0Sstevel@tonic-gate
1292*0Sstevel@tonic-gateNetworking, the internet, and a few on the web.
1293*0Sstevel@tonic-gate
1294*0Sstevel@tonic-gate=over 4
1295*0Sstevel@tonic-gate
1296*0Sstevel@tonic-gate=item *
1297*0Sstevel@tonic-gate
1298*0Sstevel@tonic-gateWhat is the correct form of response from a CGI script?
1299*0Sstevel@tonic-gate
1300*0Sstevel@tonic-gate=item *
1301*0Sstevel@tonic-gate
1302*0Sstevel@tonic-gateMy CGI script runs from the command line but not the browser.  (500 Server Error)
1303*0Sstevel@tonic-gate
1304*0Sstevel@tonic-gate=item *
1305*0Sstevel@tonic-gate
1306*0Sstevel@tonic-gateHow can I get better error messages from a CGI program?
1307*0Sstevel@tonic-gate
1308*0Sstevel@tonic-gate=item *
1309*0Sstevel@tonic-gate
1310*0Sstevel@tonic-gateHow do I remove HTML from a string?
1311*0Sstevel@tonic-gate
1312*0Sstevel@tonic-gate=item *
1313*0Sstevel@tonic-gate
1314*0Sstevel@tonic-gateHow do I extract URLs?
1315*0Sstevel@tonic-gate
1316*0Sstevel@tonic-gate=item *
1317*0Sstevel@tonic-gate
1318*0Sstevel@tonic-gateHow do I download a file from the user's machine?  How do I open a file on another machine?
1319*0Sstevel@tonic-gate
1320*0Sstevel@tonic-gate=item *
1321*0Sstevel@tonic-gate
1322*0Sstevel@tonic-gateHow do I make a pop-up menu in HTML?
1323*0Sstevel@tonic-gate
1324*0Sstevel@tonic-gate=item *
1325*0Sstevel@tonic-gate
1326*0Sstevel@tonic-gateHow do I fetch an HTML file?
1327*0Sstevel@tonic-gate
1328*0Sstevel@tonic-gate=item *
1329*0Sstevel@tonic-gate
1330*0Sstevel@tonic-gateHow do I automate an HTML form submission?
1331*0Sstevel@tonic-gate
1332*0Sstevel@tonic-gate=item *
1333*0Sstevel@tonic-gate
1334*0Sstevel@tonic-gateHow do I decode or create those %-encodings on the web?
1335*0Sstevel@tonic-gate
1336*0Sstevel@tonic-gate=item *
1337*0Sstevel@tonic-gate
1338*0Sstevel@tonic-gateHow do I redirect to another page?
1339*0Sstevel@tonic-gate
1340*0Sstevel@tonic-gate=item *
1341*0Sstevel@tonic-gate
1342*0Sstevel@tonic-gateHow do I put a password on my web pages?
1343*0Sstevel@tonic-gate
1344*0Sstevel@tonic-gate=item *
1345*0Sstevel@tonic-gate
1346*0Sstevel@tonic-gateHow do I edit my .htpasswd and .htgroup files with Perl?
1347*0Sstevel@tonic-gate
1348*0Sstevel@tonic-gate=item *
1349*0Sstevel@tonic-gate
1350*0Sstevel@tonic-gateHow do I make sure users can't enter values into a form that cause my CGI script to do bad things?
1351*0Sstevel@tonic-gate
1352*0Sstevel@tonic-gate=item *
1353*0Sstevel@tonic-gate
1354*0Sstevel@tonic-gateHow do I parse a mail header?
1355*0Sstevel@tonic-gate
1356*0Sstevel@tonic-gate=item *
1357*0Sstevel@tonic-gate
1358*0Sstevel@tonic-gateHow do I decode a CGI form?
1359*0Sstevel@tonic-gate
1360*0Sstevel@tonic-gate=item *
1361*0Sstevel@tonic-gate
1362*0Sstevel@tonic-gateHow do I check a valid mail address?
1363*0Sstevel@tonic-gate
1364*0Sstevel@tonic-gate=item *
1365*0Sstevel@tonic-gate
1366*0Sstevel@tonic-gateHow do I decode a MIME/BASE64 string?
1367*0Sstevel@tonic-gate
1368*0Sstevel@tonic-gate=item *
1369*0Sstevel@tonic-gate
1370*0Sstevel@tonic-gateHow do I return the user's mail address?
1371*0Sstevel@tonic-gate
1372*0Sstevel@tonic-gate=item *
1373*0Sstevel@tonic-gate
1374*0Sstevel@tonic-gateHow do I send mail?
1375*0Sstevel@tonic-gate
1376*0Sstevel@tonic-gate=item *
1377*0Sstevel@tonic-gate
1378*0Sstevel@tonic-gateHow do I use MIME to make an attachment to a mail message?
1379*0Sstevel@tonic-gate
1380*0Sstevel@tonic-gate=item *
1381*0Sstevel@tonic-gate
1382*0Sstevel@tonic-gateHow do I read mail?
1383*0Sstevel@tonic-gate
1384*0Sstevel@tonic-gate=item *
1385*0Sstevel@tonic-gate
1386*0Sstevel@tonic-gateHow do I find out my hostname/domainname/IP address?
1387*0Sstevel@tonic-gate
1388*0Sstevel@tonic-gate=item *
1389*0Sstevel@tonic-gate
1390*0Sstevel@tonic-gateHow do I fetch a news article or the active newsgroups?
1391*0Sstevel@tonic-gate
1392*0Sstevel@tonic-gate=item *
1393*0Sstevel@tonic-gate
1394*0Sstevel@tonic-gateHow do I fetch/put an FTP file?
1395*0Sstevel@tonic-gate
1396*0Sstevel@tonic-gate=item *
1397*0Sstevel@tonic-gate
1398*0Sstevel@tonic-gateHow can I do RPC in Perl?
1399*0Sstevel@tonic-gate
1400*0Sstevel@tonic-gate=back
1401*0Sstevel@tonic-gate
1402*0Sstevel@tonic-gate
1403