X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/50f274003539ebf1a51735c8402f6b41b32a8949..58534900c38f976129529850bd5168d61c39a495:/pod/perl.pod diff --git a/pod/perl.pod b/pod/perl.pod index a85b9bf..1902f05 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -42,7 +42,7 @@ flag = perlvms path perlfaq.* cpan/perlfaq/lib/ path perlglossary cpan/perlfaq/lib/ path perlxs(?:tut|typemap)? dist/ExtUtils-ParseXS/lib/ -path perldoc cpan/Pod-Perldoc/lib/ +path perldoc cpan/Pod-Perldoc/ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp @@ -179,19 +179,24 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp perlhist Perl history records perldelta Perl changes since previous version - perl5175delta Perl changes in version 5.17.5 - perl5174delta Perl changes in version 5.17.4 - perl5173delta Perl changes in version 5.17.3 - perl5172delta Perl changes in version 5.17.2 - perl5171delta Perl changes in version 5.17.1 - perl5170delta Perl changes in version 5.17.0 + perl5195delta Perl changes in version 5.19.5 + perl5194delta Perl changes in version 5.19.4 + perl5193delta Perl changes in version 5.19.3 + perl5192delta Perl changes in version 5.19.2 + perl5191delta Perl changes in version 5.19.1 + perl5190delta Perl changes in version 5.19.0 + perl5181delta Perl changes in version 5.18.1 + perl5180delta Perl changes in version 5.18.0 perl5161delta Perl changes in version 5.16.1 perl5162delta Perl changes in version 5.16.2 + perl5163delta Perl changes in version 5.16.3 perl5160delta Perl changes in version 5.16.0 + perl5144delta Perl changes in version 5.14.4 perl5143delta Perl changes in version 5.14.3 perl5142delta Perl changes in version 5.14.2 perl5141delta Perl changes in version 5.14.1 perl5140delta Perl changes in version 5.14.0 + perl5125delta Perl changes in version 5.12.5 perl5124delta Perl changes in version 5.12.4 perl5123delta Perl changes in version 5.12.3 perl5122delta Perl changes in version 5.12.2 @@ -232,13 +237,10 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp perlaix Perl notes for AIX perlamiga Perl notes for AmigaOS - perlbeos Perl notes for BeOS perlbs2000 Perl notes for POSIX-BC BS2000 perlce Perl notes for WinCE perlcygwin Perl notes for Cygwin - perldgux Perl notes for DG/UX perldos Perl notes for DOS - perlepoc Perl notes for EPOC perlfreebsd Perl notes for FreeBSD perlhaiku Perl notes for Haiku perlhpux Perl notes for HP-UX @@ -257,6 +259,7 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp perlriscos Perl notes for RISC OS perlsolaris Perl notes for Solaris perlsymbian Perl notes for Symbian + perlsynology Perl notes for Synology perltru64 Perl notes for Tru64 perlvms Perl notes for VMS perlvos Perl notes for Stratus VOS @@ -268,6 +271,7 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp perlboot perlbot + perlrepository perltodo perltooc perltoot @@ -277,9 +281,16 @@ aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp On a Unix-like system, these documentation files will usually also be available as manpages for use with the F program. +Some documentation is not available as man pages, so if a +cross-reference is not found by man, try it with L. Perldoc can +also take you directly to documentation for functions (with the B<-f> +switch). See C (or C or C) +for other helpful options L has to offer. + In general, if something strange has gone wrong with your program and you're -not sure where you should look for help, try the B<-w> switch first. It will -often point out exactly where the trouble is. +not sure where you should look for help, try making your code comply with +B and B. These will often point out exactly +where the trouble is. =head1 DESCRIPTION @@ -294,108 +305,22 @@ a general-purpose programming language. It's widely used for everything from quick "one-liners" to full-scale application development. The language is intended to be practical (easy to use, efficient, -complete) rather than beautiful (tiny, elegant, minimal). - -Perl combines (in the author's opinion, anyway) some of the best -features of C, B, B, and B, so people familiar with -those languages should have little difficulty with it. (Language -historians will also note some vestiges of B, Pascal, and even -BASIC-PLUS.) Expression syntax corresponds closely to C -expression syntax. Unlike most Unix utilities, Perl does not -arbitrarily limit the size of your data--if you've got the memory, -Perl can slurp in your whole file as a single string. Recursion is of -unlimited depth. And the tables used by hashes (sometimes called -"associative arrays") grow as necessary to prevent degraded -performance. Perl can use sophisticated pattern matching techniques to -scan large amounts of data quickly. Although optimized for -scanning text, Perl also has many excellent tools for slicing -and dicing binary data. - -But wait, there's more... - -Begun in 1993 (see L), Perl version 5 is nearly a complete -rewrite that provides the following additional benefits: - -=over 4 - -=item * - -modularity and reusability using innumerable modules - -Described in L, L, and L. - -=item * - -embeddable and extensible - -Described in L, L, L, L, -L, L, and L. - -=item * - -roll-your-own magic variables (including multiple simultaneous DBM -implementations) - -Described in L and L. - -=item * - -subroutines can now be overridden, autoloaded, and prototyped - -Described in L. - -=item * - -arbitrarily nested data structures and anonymous functions - -Described in L, L, L, and L. - -=item * - -object-oriented programming - -Described in L and L. - -=item * - -support for light-weight processes (threads) - -Described in L and L. - -=item * - -support for Unicode, internationalization, and localization - -Described in L, L and L. - -=item * - -lexical scoping - -Described in L. - -=item * - -regular expression enhancements - -Described in L, with additional examples in L. - -=item * - -enhanced debugger and interactive Perl environment, -with integrated editor support - -Described in L, L and L. - -=item * - -POSIX 1003.1 compliant library - -Described in L. - -=back - -Okay, that's I enough hype. +complete) rather than beautiful (tiny, elegant, minimal). It combines +(in the author's opinion, anyway) some of the best features of B, +B, and B, making it familiar and easy to use for Unix users to +whip up quick solutions to annoying problems. Its general-purpose +programming facilities support procedural, functional, and +object-oriented programming paradigms, making Perl a comfortable +language for the long haul on major projects, whatever your bent. + +Perl's roots in text processing haven't been forgotten over the years. +It still boasts some of the most powerful regular expressions to be +found anywhere, and its support for Unicode text is world-class. It +handles all kinds of structured text, too, through an extensive +collection of extensions. Those libraries, collected in the CPAN, +provide ready-made solutions to an astounding array of problems. When +they haven't set the standard themselves, they steal from the best +-- just like Perl itself. =head1 AVAILABILITY @@ -429,8 +354,13 @@ Perl developers, please write to perl-thanks@perl.org . =head1 DIAGNOSTICS -The C pragma (and the B<-w> switch) produces some -lovely diagnostics. +Using the C pragma ensures that all variables are properly +declared and prevents other misuses of legacy Perl features. + +The C pragma produces some lovely diagnostics. One can +also use the B<-w> flag, but its use is normally discouraged, because +it gets applied to all executed Perl code, including that not under +your control. See L for explanations of all Perl's diagnostics. The C pragma automatically turns Perl's normally terse warnings @@ -444,12 +374,12 @@ B<-e> is counted as one line.) Setuid scripts have additional constraints that can produce error messages such as "Insecure dependency". See L. -Did we mention that you should definitely consider using the B<-w> -switch? +Did we mention that you should definitely consider using the B +pragma? =head1 BUGS -The B<-w> switch is not mandatory. +The behavior implied by the B pragma is not mandatory. Perl is at the mercy of your machine's definitions of various operations such as type casting, atof(), and floating-point