Nothing like a long hospital stay after a severe head injury to get caught up on some project work.
I've released version 1.26 of berrybrew.
See my blog post for more information, and an example of the new berrybrew virtual command.
Here's a summary of the new features:
TL;DR
- berrybrew virtual allows you to manage non-Strawberry external Perls
- Unattended installations now possible
- new quick argument to berrybrew switch allows switching to new Perl instances without opening a new CLI window
- berrybrew module export and berrybrew modules import allows you to export and import modules between Perls. Custom module list files allowed
- Ability to change between Strawberry's home directory and Windows home directory when using File::HomeDir
Long version:
- Management of external Perl installations; Using the new berrybrew virtual command, one can bring in other installations of Perl for management under berrybrew. For example, if you have an ActiveState Perl installed on the system, you can virtualize it under berrybrew, and use or switch to it just like any of the portable Strawberry Perls we normally manage. This means that you can switch over to your system Perl when needed, without having to modify PATH, or temporarily disabling berrybrew
- Unattended installations are now possible. We no longer prompt for user acceptance when running the initial configuration
- New quick argument to berrybrew switch; This allows you to switch to a different Perl instance persistently without having to close the existing CLI window and opening a new one (note: some binaries and features may not work correctly. If you run into problems, simply open a new window)
- Export and import modules from one Perl instance to another; berrybrew modules export and berrybrew modules import will dump a list of all installed CPAN distribution names from one Perl and install it on others. The export files can be edited at will before re-importing, and you can even create your own module list files to use as you see fit. Using this feature, in conjunction with berrybrew clone allows you to easily set up template Perl instances for very quick Perl platform setup
- Ability to change the location where File::HomeDir points to; you can switch between the Windows home directory location, or the default location that Strawberry Portable editions set
Side note... a request came in by a user to support previously installed Perls. Their developers use berrybrew, but all of their CI happens automatically on a locally installed Active State Perl. They wanted a way to be able to use Active State for their testing pipeline, without having to muck with path environment variables and such that would mess up the developer environment. With berrybrew use virtual_instance, the system Perl can be used for the CI runs without affecting the rest of the system.