Perl 7 code will still be v5.32 code (mostly) in syntax and behavior though. There will be a way to reset all of those settings to the old Perl 5 default if you like. A major version jump changes that contract with new default behavior, even if that conflicts with the past. Why the jump to a major version?Ī major version can have a different contract with the user. The people working on that are experienced and talented, and they’ve made the codebase much more tractable. That makes it easier for them to adapt to future needs. This change should be manageable with as few side quests as possible.Īlso, PAUSE, the Perl Authors Upload Server, has received quite a bit of love in the past couple of years. Will there be a separate CPAN for Perl 7? No one has said there can’t be, but in the jump to Perl 7, the developers don’t want to redo what’s already working. Fixing code shouldn’t be that onerous because it’s still Perl 5, but with better practices. Tracking down problems with existing code is a solved problem. Usually, it’s something I need to update anyway. As a module author, I often get messages from various people, mostly Andreas Koenig or Slaven Rezić, about weird things in my modules that may break with new Perls. There’s a long history of tools to check the effect that changes may have on the Perl community. You may not know that the Perl5 Porters tests new versions against almost all of CPAN. Remember Perl 7 is mostly v5.32 so you shouldn’t need to change much. The maintained modules that people are using should still work, and for the rest there will be a compatibility mode. The Comprehensive Perl Archive Network, CPAN, has almost 200,000 modules. There’s no big rewrite or new features, although some currently experimental features may stabilize (please choose signatures!). This is an easy promise to keep, too, since Perl 7 is mostly v5.32 with different defaults. The target for a user release of Perl 7.0 within the next year, with some release candidates along the way. The work is happening now, but you won’t need to worry about it for about six months when the first release candidate should appear. That might be up to a decade from now (or half the time Perl 5 has already been around). No one is taking Perl 5 away from you it goes into long term maintenance mode-a lot longer than the two years of rolling support for the two latest user versions. It’s already a setting in v5.32, but now with a different default. My $cgi = new CGI # indirect object, but not in Perl 7 my $cgi = CGI -> new # direct objectīut, the feature doesn’t really disappear in Perl 7. Now we’re back to the old days of C where we have to include lots of boilerplate before we start doing something: We kept adding pragmas, but with Perl’s commitment to backward compatibility, we can’t change the default settings. But, it’s been a couple of decades and the world is more complicated now. In Perl 4 and the early days of Perl 5, that was easy. Remember, Perl was the “Do what I mean” language where the defaults were probably what you wanted to do. The major version jump sets the boundary between how we have been doing things and what we can do in the future. You won’t have to enable most of the things you are already doing because they are enabled for you. Perl 7.0 is going to be v5.32 but with different, saner, more modern defaults. My latest book Preparing for Perl 7 goes into much more detail. It’s Perl 5 with modern defaults and it sets the stage for bigger changes later. Work on Perl 7 is already underway, but it’s not going to be a huge change in code or syntax. This morning at The Perl Conference in the Cloud, Sawyer X announced that Perl has a new plan moving forward. Image credit: Darren Wood, “7”, on Flickr.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |