cvs commit: perlfaq perlfaq.pod perlfaq1.pod
[email protected] 31 Jan 2005 15:52:16 -0000
| Newsgroups | perl.cvs.perlfaq |
|---|---|
| Message-ID | <[email protected]> |
cvsuser 05/01/31 07:52:16
Modified: . perlfaq.pod perlfaq1.pod
Log:
* "Which version of Perl should I use?"
+ I rewrote the answer to give general advice (use the latest
stable version), but also to point out some of the trade-offs
to consider
+ the updated answer knows that perl5.8.x is the recent stable
version, and further emphasizes that perl4 is dead, dead, dead
+ I address perl6, but only to say that there is no need to
worry just yet.
* "What are perl4, perl5, or perl6?"
+ This is a title change, adding perl6 to the answer
Revision Changes Path
1.21 +9 -5 perlfaq/perlfaq.pod
Index: perlfaq.pod
===================================================================
RCS file: /cvs/public/perlfaq/perlfaq.pod,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- perlfaq.pod 3 Jan 2005 18:43:37 -0000 1.20
+++ perlfaq.pod 31 Jan 2005 15:52:15 -0000 1.21
@@ -1,6 +1,6 @@
=head1 NAME
-perlfaq - frequently asked questions about Perl ($Date: 2005/01/03 18:43:37 $)
+perlfaq - frequently asked questions about Perl ($Date: 2005/01/31 15:52:15 $)
=head1 DESCRIPTION
@@ -45,8 +45,8 @@
=head1 Author and Copyright Information
-Copyright (c) 1997-2005 Tom Christiansen, Nathan Torkington, and
-other authors as noted. All rights reserved.
+Copyright (c) 1997-2003 Tom Christiansen, Nathan Torkington, and
+other contributors noted in the answers.
All rights reserved.
@@ -119,7 +119,7 @@
=item *
-What are perl4 and perl5?
+What are perl4, perl5, or perl6?
=item *
@@ -377,7 +377,7 @@
=item *
-I've read perlembed, perlguts, etc., but I can't embed perl in
+I've read perlembed, perlguts, etc., but I can't embed perl in my C program; what am I doing wrong?
=item *
@@ -727,6 +727,10 @@
=item *
+How can I copy a file?
+
+=item *
+
How do I make a temporary file name?
=item *
1.17 +95 -34 perlfaq/perlfaq1.pod
Index: perlfaq1.pod
===================================================================
RCS file: /cvs/public/perlfaq/perlfaq1.pod,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- perlfaq1.pod 3 Jan 2005 18:43:37 -0000 1.16
+++ perlfaq1.pod 31 Jan 2005 15:52:15 -0000 1.17
@@ -1,6 +1,6 @@
=head1 NAME
-perlfaq1 - General Questions About Perl ($Revision: 1.16 $, $Date: 2005/01/03 18:43:37 $)
+perlfaq1 - General Questions About Perl ($Revision: 1.17 $, $Date: 2005/01/31 15:52:15 $)
=head1 DESCRIPTION
@@ -56,39 +56,100 @@
=head2 Which version of Perl should I use?
-You should definitely use version 5. Version 4 is old, limited, and
-no longer maintained; its last patch (4.036) was in 1992, long ago and
-far away. Sure, it's stable, but so is anything that's dead; in fact,
-perl4 had been called a dead, flea-bitten camel carcass. The most
-recent production release is 5.8.2 (although 5.005_03 and 5.6.2 are
-still supported). The most cutting-edge development release is 5.9.
-Further references to the Perl language in this document refer to the
-production release unless otherwise specified. There may be one or
-more official bug fixes by the time you read this, and also perhaps
-some experimental versions on the way to the next release.
-All releases prior to 5.004 were subject to buffer overruns, a grave
-security issue.
-
-=head2 What are perl4 and perl5?
-
-Perl4 and perl5 are informal names for different versions of the Perl
-programming language. It's easier to say "perl5" than it is to say
-"the 5(.004) release of Perl", but some people have interpreted this
-to mean there's a language called "perl5", which isn't the case.
-Perl5 is merely the popular name for the fifth major release (October 1994),
-while perl4 was the fourth major release (March 1991). There was also a
-perl1 (in January 1988), a perl2 (June 1988), and a perl3 (October 1989).
-
-The 5.0 release is, essentially, a ground-up rewrite of the original
-perl source code from releases 1 through 4. It has been modularized,
-object-oriented, tweaked, trimmed, and optimized until it almost doesn't
-look like the old code. However, the interface is mostly the same, and
-compatibility with previous releases is very high.
-See L<perltrap/"Perl4 to Perl5 Traps">.
-
-To avoid the "what language is perl5?" confusion, some people prefer to
-simply use "perl" to refer to the latest version of perl and avoid using
-"perl5" altogether. It's not really that big a deal, though.
+(contributed by brian d foy)
+
+There is often a matter of opinion and taste, and there isn't any
+one answer that fits anyone. In general, you want to use either
+the current stable release, or the stable release immediately prior
+to that one. Currently, those are perl5.8.x and perl5.6.x, respectively.
+
+Beyond that, you have to consider several things and decide which
+is best for you.
+
+=over 4
+
+=item
+
+If things aren't broken, upgrading perl may break
+them (or at least issue new warnings).
+
+=item
+
+The latest versions of perl have more bug fixes.
+
+=item
+
+The Perl community is geared toward supporting the most
+recent releases, so you'll have an easier time finding help for
+those.
+
+=item
+
+Versions prior to perl5.004 had serious security problems with
+buffer overflows, and in some cases have CERT advisories (for
+instance, http://www.cert.org/advisories/CA-1997-17.html ).
+
+=item
+
+The latest versions are probably the least deployed and
+widely tested, so you may want to wait a few months after their
+release and see what problems others have if you are risk averse.
+
+=item
+
+The immediate, previous releases (i.e. perl5.6.x ) are usually
+maintained for a while, although not at the same level as the
+current releases.
+
+=item
+
+No one is actively supporting perl4.x. Five years ago it was
+a dead camel carcass (according to this document). Now it's barely
+a skeleton as its whitewashed bones have fractured or eroded.
+
+=item
+
+There is no perl6.x for the next couple of years. Stay tuned,
+but don't worry that you'll have to change major versions of Perl
+soon (i.e. before 2006).
+
+=item
+
+There are really two tracks of perl development: a
+maintenance version and an experimental version. The
+maintenance versions are stable, and have an even number
+as the minor release (i.e. perl5.8.x, where 8 is the minor
+release). The experimental versions may include features that
+don't make it into the stable versions, and have an odd number
+as the minor release (i.e. perl5.9.x, where 9 is the minor release).
+
+=back
+
+
+=head2 What are perl4, perl5, or perl6?
+
+(contributed by brian d foy)
+
+In short, perl4 is the past, perl5 is the present, and perl6 is the
+future.
+
+The number after perl (i.e. the 5 after perl5) is the major release
+of the perl interpreter as well as the version of the language. Each
+major version has significant differences that earlier versions cannot
+support.
+
+The current major release of Perl is perl5, and was released in 1994.
+It can run scripts from the previous major release, perl4 (March 1991),
+but has significant differences. It introduced the concept of references,
+complex data structures, and modules. The perl5 interpreter was a
+complete re-write of the previous perl sources.
+
+Perl6 is the next major version of Perl, but it's still in development
+in both its syntax and design. The work started in 2002 and is still
+ongoing. Many of the most interesting features have shown up in the
+latest versions of perl5, and some perl5 modules allow you to use some
+perl6 syntax in your programs. You can learn more about perl6 at
+http://dev.perl.org/perl6/ .
See L<perlhist> for a history of Perl revisions.