For the people who use Windows, I've released berrybrew v1.04.
This software was originally written by David Farrell. While I was writing Test::BrewBuild, I needed some additional features (particularly the --with option for exec and much better PATH env var handling). I wrote a couple of PRs, but they were rejected (not by David, but by the new maintainer). Not long after that, the person who had taken over the project disappeared, so I decided to permanently fork it, and nearly completely rewrite the whole thing.
It does everything the original does, but now includes far more:
- Display available Strawberry Perls
- Add/remove available Strawberry Perls by editing a JSON file
- Install and remove Perl instances easily
- Easily switch between installed Perl instances
- Execute commands across all Perl installs, or just a select number
- Ability to clone your Perl installations
- Ability to easily disable berrybrew, and return to a system Perl
- Thorough documentation for the berrybrew application, its C# API, configuration, and unit testing
- Ability to clean its own temp directories and any orphaned Perl installations
- Very simple installation/initialization via git clone, pre-packaged zip archive, or compile-your-own
- Command subcommands have command-line help documentation
- Automation build script for development
- Automation release bundling script for development
- Unit tests are written in Perl, and are run with a single command
- Ability to specify where you want your base Perl installation directory to be located
The main README contains the majority of details on how one typically would use the software. There's also more extensive berrybrew documentation that explains things further, as well as detailed online Berrybrew API documentation for developers.
My favourite new feature is clone. Here are some of the benefits I've found with it:
- Ability to name the cloned instance to your liking (currently, 25 char max)
- Easily take snapshots of a Perl instance before making any changes to it, to provide an immediate restore point
- Set up one instance with all the modules you typically use, then clone it as a template. This way, you can simply re-clone the template as many times as you want and you'll instantaneously have a brand new instance set up exactly to your liking
- Project-specific instances - clone a base instance for specific projects, in order to ensure a consistent project environment
- My favourite, set up development templates, then while debugging/building/testing your own modules, you can easily keep this development environment in pristine condition without any outside interference, with the ability to simply re-clone from the last snapshot if things go downhill, instead of installing a new instance from scratch
- off command allows you to quickly disable your berrybrew Perls, which returns you to a system perl (if installed)
- debug feature to enable certain verbose output, simply by adding debug after berrybrew and before a command. eg: berrybrew debug install 5.24.0_64
- The entire PATH management components have been completely re-written, and work correctly in all cases, and now writes to the registry directly, allowing variable-based PATH names
- There are unit tests!! (albeit I need more)
- The Perl objects are now only generated once and stored in the main object, instead of being rebuilt in every method call (efficiency)
- Configuration changes no longer need recompilation of the binary
- remove functionality has been enhanced to not break in several cases
update: also posted on my seldom used perl blog.
Props to Ricardo Signes who has released his final two versions as pumpking (5.24.0 and the 5.25.0 dev track), and congratulations and thanks goes out to Sawyer X who has taken over the task.
As I sit here, and oftentimes, I wish
I could be monarch of a desert land
I could devote and dedicate forever
To the truths we keep coming back and back to.
So desert it would have to be, so walled
By mountain ranges half in summer snow,
No one would covet it or think it worth
The pains of conquering to force change on.
Scattered oases where men dwelt, but mostly
Sand dunes held loosely in tamarisk
Blown over and over themselves in idleness.
Sand grains should sugar in the natal dew
The babe born to the desert, the sand storm
Retard mid-waste my cowering caravans—
“There are bees in this wall.” He struck the clapboards,
Fierce heads looked out; small bodies pivoted.
We rose to go. Sunset blazed on the windows.
-- Robert Frost, the Black Cottage
We are pleased to announce perl v5.24.0, the first stable release of version 24 of Perl 5.
You will soon be able to download Perl v5.24.0 from your favorite CPAN mirror or find it at:
SHA1 digests for this release are:
You can find a full list of changes in the file "perldelta.pod" located in the "pod" directory inside the release and on the web at
Perl 5.24.0 represents approximately 11 months of development since Perl 5.22.0 and contains approximately 360,000 lines of changes across 1,800 files from 77 authors.
Excluding auto-generated files, documentation and release tools, there were approximately 250,000 lines of changes to 1,200 .pm, .t, .c and .h files.
Perl continues to flourish into its third decade thanks to a vibrant community of users and developers. The following people are known to have contributed the improvements that became Perl v5.24.0:
Aaron Crane, Aaron Priven, Abigail, Achim Gratz, Alexander D'Archangel,
Alex Vandiver, Andreas König, Andy Broad, Andy Dougherty, Aristotle
Pagaltzis, Chase Whitener, Chas. Owens, Chris 'BinGOs' Williams, Craig
A. Berry, Dagfinn Ilmari Mannsåker, Dan Collins, Daniel Dragan, David
Golden, David Mitchell, Dominic Hargreaves, Doug Bell, Dr.Ruud, Ed Avis,
Ed J, Father Chrysostomos, Herbert Breunung, H.Merijn Brand, Hugo van
der Sanden, Ivan Pozdeev, James E Keenan, Jan Dubois, Jarkko Hietaniemi,
Jerry D. Hedden, Jim Cromie, John Peacock, John SJ Anderson, Karen
Etheridge, Karl Williamson, kmx, Leon Timmermans, Ludovic E. R.
Tolhurst-Cleaver, Lukas Mai, Martijn Lievaart, Matthew Horsfall, Mattia
Barbon, Max Maischein, Mohammed El-Afifi, Nicholas Clark, Nicolas R.,
Niko Tyni, Peter John Acklam, Peter Martini, Peter Rabbitson, Pip Cet,
Rafael Garcia-Suarez, Reini Urban, Renee Baecker, Ricardo Signes, Sawyer
X, Shlomi Fish, Sisyphus, Stanislaw Pusep, Steffen Müller, Stevan
Little, Steve Hay, Sullivan Beck, Thomas Sibley, Todd Rinaldo, Tom
Hukins, Tony Cook, Unicode Consortium, Victor Adam, Vincent Pit,
Vladimir Timofeev, Yves Orton, Zachary Storer, Zefram.
The list above is almost certainly incomplete as it is automatically generated from version control history. In particular, it does not include the names of the (very much appreciated) contributors who reported issues to the Perl bug tracker.
Many of the changes included in this version originated in the CPAN
modules included in Perl's core. We're grateful to the entire CPAN
community for helping Perl to flourish.
For a more complete list of all of Perl's historical contributors,
please see the AUTHORS file in the Perl source distribution.
We expect to release perl v5.25.0 today, followed by perl v5.25.1 on May
20th. The next major stable release of Perl 5, version 26.0, should
appear in May 2017.
It has been my great pleasure to contribute to the development of Perl
for the past five major releases. This will be my final major release.
Thank you, everyone who has contributed to the project or offered kind
words of support. They have been appreciated perhaps more than has been
Beginning with perl v5.25.1, Sawyer X will be the new reigning pumpking.
Please be as kind to him as you have to me!
TONIGHT at 7PM US Central (GMT-5) the DFW Texas Perl Mongers be hosting special guest presenter, William Braswell. He is traveling in from Austin to talk about and demo RPerl and Perl "11". You're invited to join the screencast online or attend in person at the Dallas Makerspace...
RPerl, Perl 11, and The Future of Perl Performance
—with Will "the Chill" Braswell
RPerl is the new optimizing compiler for Perl 5.
Perl 11 is the philosophy of pluggability and the reunification of Perl 5 with Perl 6.
We can currently use RPerl to speed up low-magic Perl 5 code with over 300x performance gain.
This talk will discuss the future plans for supporting medium-magic and high-magic Perl 5 code, as well as Perl 6, and beyond.
TIME AND PLACE
Time: 7 pm to 9 pm US Central Time (GMT-5)
Location: Dallas Makerspace
1825 Monetary Ln, Suite 104, Carrollton, TX 75006
Phone: (214) 699-6537
If you plan to attend online, please install the hangouts app/plugin from google.com/hangouts — This will allow you to view the live video stream, but if you'd like to participate interactively, please send your google ID/gmail address to dfw.perlmongers at gmaildotcom *before the meeting* and we'll add you to the online classroom.
Hope to see you there!
A mistake can be valuable or costly, depending on how faithfully you pursue correction