FAQ 1.3 Which version of Perl should I use?

FAQ 1.3 Which version of Perl should I use?

am 31.01.2008 03:03:01 von PerlFAQ Server

This is an excerpt from the latest version perlfaq1.pod, which
comes with the standard Perl distribution. These postings aim to
reduce the number of repeated questions as well as allow the community
to review and update the answers. The latest version of the complete
perlfaq is at http://faq.perl.org .

------------------------------------------------------------ --------

1.3: Which version of Perl should I use?

(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.

* If things aren't broken, upgrading perl may break them (or at least
issue new warnings).

* The latest versions of perl have more bug fixes.

* The Perl community is geared toward supporting the most recent
releases, so you'll have an easier time finding help for those.

* 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 ).

* 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.

* 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.

* No one is actively supporting Perl 4. 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.

* There is no Perl 6 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 2008).

* 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).



------------------------------------------------------------ --------

The perlfaq-workers, a group of volunteers, maintain the perlfaq. They
are not necessarily experts in every domain where Perl might show up,
so please include as much information as possible and relevant in any
corrections. The perlfaq-workers also don't have access to every
operating system or platform, so please include relevant details for
corrections to examples that do not work on particular platforms.
Working code is greatly appreciated.

If you'd like to help maintain the perlfaq, see the details in
perlfaq.pod.