Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Strawberry & ActiveState

by kel (Sexton)
on Apr 28, 2020 at 00:55 UTC ( [id://11116145]=perlquestion: print w/replies, xml ) Need Help??

kel has asked for the wisdom of the Perl Monks concerning the following question:

Dearest monks,

Hopefully this is the place to ask, for which may be very neophyte type questions.

I have lately been in Win7-64 and in the process of rearringing a large library was looking for a move command that did not clobber, and it seemed like perlmv (and its cousins) was pretty much what I needed.

But my ActiveState Perl 5.15 (or so) did not have anything resembling it, and apparently they are not updating it, in favor of a newer paywall system. And would not compile correctly within it. And also, it was acting weird, occasionally parsing only around 20% or so of 100 files correctly on some renaming scripts. And not non-ascii related, as many of those choked files would parse fine on another drive/dir. I do not have that problem on my Linux system (5.28 IIRC)

So I decided to install Strawberry, with its 5.30 version. I had installed Strawberry in the past, but was not happy with it when working with the DBI libraries. Now that is not an issue.

SO far, I like it, and am loading up on Bundles. I like my perl versions to be as fully loaded as possible. I am using the 'notest' pragma to speed things up. I am assuming if the package is binary, and OS specific, then it just wont install.

So.. my basic question: Is it possible to import the ActiveState Site directory into perlenv? Would the XS binaries require a special DLL (like Cygwin)?

Also: Are there any good FAQs/tutorials/links that center on the changes to Perl over the past 15 years? My learning curve was pretty much stopped at 5.10 and I know I have ALOT to catch up on!!! (Like gmake!).

Replies are listed 'Best First'.
Re: Strawberry & ActiveState
by marto (Cardinal) on Apr 28, 2020 at 07:43 UTC

    XS modules are not binary compatible between perl versions. You need to recompile. Using the autobundle method to migrate from AS to Strawberry could be advantageous. History/Changes has a per version breakdown of changes, I don't know anywhere that shows all differences between X and Y versions.

      Thank you!

      autobundle seems to be a great solution to this problem.

      BUT....

      It is in package\sformat format:

      ACH::Generator 0.01

      And looking through the docs, there are no options to update to the latest version!

      (Mind you there are 37000 packages in that bundle)

      so

      perl -MCPAN -e 'install Bundle::Snapshot_2017_11_30_00'
      Might take months without a 'notest install'.

      Will CPAN automagically choose the 'right' version for the Strawberry release?

      Now... I do have a CPAN mirror from my Linux drive which is accessible in Win, and can hopefully speed up the process some. Any quick links to using a local mirror? File//path in the config file?

      There is another way, but a bit more tedious. I can take the automirror file, split on \s and just have the package names per line.

      Once upon a time there was a command for retrieving a list of modules that were NOT installed compared to the 'full' CPAN list.

      If I run uniq against the two lists, it can save alot of time by not trying to install modules already installed.

        It doesn't make any kind of sense to try to install everything on cpan, unless you are contributing to cpantesters, which you can't be using the no test option. Installing hundreds if not thousands of modules on a system that is by any definition modern in terms of hardware will not take months. ACH::Generator hasn't had a release since 2006. You could be spending time building modules which no longer work with modern perls, or libraries upon which they depend. Look at the cpan options, you can upgrade modules that.you already have easy. Modern alternative such as cpanm are faster than cpan at straight installs, but do not replicate all features such as bundle support. cpm is much faster than cpanm, I've not tried it on Windows yet. Are you really making use of 37,000 modules? Sire a local mirror helps, perhaps you should only install modules when you find you don't have them installed, this seems like a better use of your time.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://11116145]
Front-paged by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2024-03-28 14:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found