@@ -297,108 +297,22 @@ a general-purpose programming language. It's widely used for everything
297
297
from quick "one-liners" to full-scale application development.
298
298
299
299
The language is intended to be practical (easy to use, efficient,
300
- complete) rather than beautiful (tiny, elegant, minimal).
301
-
302
- Perl combines (in the author's opinion, anyway) some of the best
303
- features of C, B<sed>, B<awk>, and B<sh>, so people familiar with
304
- those languages should have little difficulty with it. (Language
305
- historians will also note some vestiges of B<csh>, Pascal, and even
306
- BASIC-PLUS.) Expression syntax corresponds closely to C
307
- expression syntax. Unlike most Unix utilities, Perl does not
308
- arbitrarily limit the size of your data--if you've got the memory,
309
- Perl can slurp in your whole file as a single string. Recursion is of
310
- unlimited depth. And the tables used by hashes (sometimes called
311
- "associative arrays") grow as necessary to prevent degraded
312
- performance. Perl can use sophisticated pattern matching techniques to
313
- scan large amounts of data quickly. Although optimized for
314
- scanning text, Perl also has many excellent tools for slicing
315
- and dicing binary data.
316
-
317
- But wait, there's more...
318
-
319
- Begun in 1993 (see L<perlhist>), Perl version 5 is nearly a complete
320
- rewrite that provides the following additional benefits:
321
-
322
- =over 4
323
-
324
- =item *
325
-
326
- modularity and reusability using innumerable modules
327
-
328
- Described in L<perlmod>, L<perlmodlib>, and L<perlmodinstall>.
329
-
330
- =item *
331
-
332
- embeddable and extensible
333
-
334
- Described in L<perlembed>, L<perlxstut>, L<perlxs>, L<perlxstypemap>,
335
- L<perlcall>, L<perlguts>, and L<xsubpp>.
336
-
337
- =item *
338
-
339
- roll-your-own magic variables (including multiple simultaneous DBM
340
- implementations)
341
-
342
- Described in L<perltie> and L<AnyDBM_File>.
343
-
344
- =item *
345
-
346
- subroutines can now be overridden, autoloaded, and prototyped
347
-
348
- Described in L<perlsub>.
349
-
350
- =item *
351
-
352
- arbitrarily nested data structures and anonymous functions
353
-
354
- Described in L<perlreftut>, L<perlref>, L<perldsc>, and L<perllol>.
355
-
356
- =item *
357
-
358
- object-oriented programming
359
-
360
- Described in L<perlobj> and L<perlootut>.
361
-
362
- =item *
363
-
364
- support for light-weight processes (threads)
365
-
366
- Described in L<perlthrtut> and L<threads>.
367
-
368
- =item *
369
-
370
- support for Unicode, internationalization, and localization
371
-
372
- Described in L<perluniintro>, L<perllocale> and L<Locale::Maketext>.
373
-
374
- =item *
375
-
376
- lexical scoping
377
-
378
- Described in L<perlsub>.
379
-
380
- =item *
381
-
382
- regular expression enhancements
383
-
384
- Described in L<perlre>, with additional examples in L<perlop>.
385
-
386
- =item *
387
-
388
- enhanced debugger and interactive Perl environment,
389
- with integrated editor support
390
-
391
- Described in L<perldebtut>, L<perldebug> and L<perldebguts>.
392
-
393
- =item *
394
-
395
- POSIX 1003.1 compliant library
396
-
397
- Described in L<POSIX>.
398
-
399
- =back
400
-
401
- Okay, that's I<definitely> enough hype.
300
+ complete) rather than beautiful (tiny, elegant, minimal). It combines
301
+ (in the author's opinion, anyway) some of the best features of B<sed>,
302
+ B<awk>, and B<sh>, making it familiar and easy to use for Unix users to
303
+ whip up quick solutions to annoying problems. Its general-purpose
304
+ programming facilities support procedural, functional, and
305
+ object-oriented programming paradigms, making Perl a comfortable
306
+ language for the long haul on major projects, whatever your bent.
307
+
308
+ Perl's roots in text processing haven't been forgotten over the years.
309
+ It still boasts some of the most powerful regular expressions to be
310
+ found anywhere, and its support for Unicode text is world-class. It
311
+ handles all kinds of structured text, too, through an extensive
312
+ collection of extensions. Those libraries, collected in the CPAN,
313
+ provide ready-made solutions to an astounding array of problems. When
314
+ they haven't set the standard themselves, they steal from the best
315
+ -- just like Perl itself.
402
316
403
317
=head1 AVAILABILITY
404
318
0 commit comments