The next version of Perl will indeed be version 32.

$ perl -v | grep '^This is' This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-li +nux-thread-multi

So going from Perl 5 to Perl 7 wouldn't be a "major version change", it would be a language name change.

If that was the case, I would expect to find something like this in the perl sources:

printf( "This is perl 5, version %d, subversion %d (v5.%d.%d), built for % +s\n", perlmajor, perlminor, perlmajor, perlminor, perlarch );

Searching for "This is perl" returns only a single C source file, with only one matching line: perl.c, currently around line 3768:

PerlIO_printf(PIO_stdout, "\nThis is perl " STRINGIFY(PERL_REVISION) ", version " STRINGIFY(PERL_VERSION) ", subversion " STRINGIFY(PERL_SUBVERSION) " (%" SVf ") built for " ARCHNAME, SVfARG(level +) );

Getting a git blame on that line shows that the last change was ded326e4b6fad7e2479796691d0c27b89d2fe080 in 2009, for v5.11, changing the format. The diff shows how the version was previously:

PerlIO_printf(PerlIO_stdout(), "\nThis is perl, %"SVf " built for " ARCHNAME, level);

So at least until 2009, the "5" in perl 5 was still part of the interpreter version number, and not part of the language name, at least technically. The commit comment explains the change:

The rationale for this change is that the Perl 5 interpreter will never increment PERL_REVISION from 5 to 6, so we want people to start focusing on the PERL_VERSION number as most significant and PERL_SUBVERSION as equivalent to a "release number". In other words, "perl 5" is a language, this is the 11th version of it, and the second release of that version (counting from zero). Among other things, this makes the output of -v and -V more consistent.

Unfortunately, the "blame" link on that page results in a broken document due to a server error while rendering the document:

500 - Internal Server Error Malformed UTF-8 character (fatal) at /var/www/git/gitweb.cgi line 1601 +, <$fd> line 107.

(This is visible only in the source view, Firefox complains about invalid XML.)

So I simply looked in perl 5.000, at perl.c. Line 966 writes out the version:

printf("\nThis is perl, version %s\n\n",patchlevel);

Here, the name of the language was clearly "perl", not "perl 5", and the interpreter version number started with "5". So, at some point in time between 1994 and 2009, the marketing of perl changed.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

In reply to Re^2: If Perl 5 were to become Perl 7, what (backward-compatible) features would you want to see? by afoken
in thread If Perl 5 were to become Perl 7, what (backward-compatible) features would you want to see? by haukex

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.