FAQ 1.3 Which version of Perl should I use?

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

This message is one of several periodic postings to comp.lang.perl.misc
intended to make it easier for perl programmers to find answers to
common questions. The core of this message represents an excerpt
from the documentation provided with Perl.


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

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

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


Documents such as this have been called "Answers to Frequently
Asked Questions" or FAQ for short.  They represent an important
part of the Usenet tradition.  They serve to reduce the volume of
redundant traffic on a news group by providing quality answers to
questions that keep coming up.

If you are some how irritated by seeing these postings you are free
to ignore them or add the sender to your killfile.  If you find
errors or other problems with these postings please send corrections
or comments to the posting email address or to the maintainers as
directed in the perlfaq manual page.

Note that the FAQ text posted by this server may have been modified
from that distributed in the stable Perl release.  It may have been
edited to reflect the additions, changes and corrections provided
by respondents, reviewers, and critics to previous postings of
these FAQ. Complete text of these FAQ are available on request.

The perlfaq manual page contains the following copyright notice.


    Copyright (c) 1997-2002 Tom Christiansen and Nathan
    Torkington, and other contributors as noted. All rights

This posting is provided in the hope that it will be useful but
does not represent a commitment or contract of any kind on the part
of the contributers, authors or their agents.

Site Timeline