http://www.perlmonks.org?node_id=1012266

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

I'd like to give instructions on how to run a perl script on Windows. This will ask to use ActivePerl, which the user should install from the download page. Then I may have to ask the user to install a module with the perl package manager (ppm). More likely I don't have to ask them because the modules necessary are shipped with ActivePerl and installed with it by default. So where can I see the list of modules that are always installed?

No, Module-CoreList doesn't do that, because that module lists the modules distributed with perl vanilla, not the ones in ActivePerl. I also can't just look at the modules currently installed on my machine or the documentation, because I've installed extra modules since installing ActivePerl. Does perhaps ActivePerl's online documentation work? Does that list only the modules installed by default? Or also modules from their ppm repository?

  • Comment on What modules are shipped with ActivePerl on Windows in the default installation?

Replies are listed 'Best First'.
Re: What modules are shipped with ActivePerl on Windows in the default installation?
by BrowserUk (Patriarch) on Jan 08, 2013 at 16:27 UTC

    The simplest way would be to install a virgin copy of the appropriate build and then run the command:

    ppm query *

    It produces a list of all the installed packages that looks like this (truncated):

    C:\test>ppm query * +--------------------------------------------------------------------- +--------------------------------------------+ ¦name ¦version ¦abstract + ¦area¦ +--------------------------+-----------+------------------------------ +---------------------------------------+----¦ ¦ActivePerl-CPAN-Config ¦1.0 ¦Default configuration for CPAN +.pm ¦perl¦ ¦ActivePerl-Config ¦1.4 ¦Override the ActivePerl config +uration ¦perl¦ ¦ActivePerl-DocTools ¦2.4 ¦Maintain HTML documentation + ¦perl¦ ¦ActivePerl-IIS-Config ¦1.0 ¦ActivePerl IIS Configuration U +tility ¦perl¦ ¦ActivePerl-PPM ¦4.17 ¦The Perl Package Manager + ¦perl¦ ¦ActiveState-PerlCritic ¦10.0 ¦PerlCritic GUI + ¦perl¦ ¦ActiveState-RelocateTree ¦1.4 ¦Move perl distribution to new +location ¦perl¦ ¦ActiveState-Scineplex ¦1.1 ¦Perl extension to access Scine +plex code lexer ¦perl¦ ¦ActiveState-Utils ¦2.10 ¦ActiveState's utility modules + ¦perl¦ ¦Algorithm-C3 ¦0.08 ¦A module for merging hierarchi +es using the C3 algorithm ¦perl¦ ¦Algorithm-Diff ¦1.1902 ¦Compute `intelligent' differen +ces between two files / lists ¦perl¦ ¦Archive-Extract ¦0.60 ¦Generic archive extracting mec +hanism ¦perl¦ ¦Archive-Tar ¦1.88 ¦Manipulates TAR archives + ¦perl¦ ¦Archive-Zip ¦1.30 ¦Provide an interface to ZIP ar +chive files. ¦perl¦ ¦Attribute-Handlers ¦0.93 ¦Simpler definition of attribut +e handlers ¦perl¦ ¦AutoLoader ¦5.72 ¦load subroutines only on deman +d ¦perl¦ ¦B-Debug ¦1.17 ¦Walk Perl syntax tree, printin +g debug info about ops ¦perl¦ ¦B-Keywords ¦1.12 ¦Lists of reserved barewords an +d symbol names ¦perl¦ ¦B-Lint ¦1.13 ¦Perl lint + ¦perl¦ ¦Bit-Vector ¦7.2 ¦unknown + ¦perl¦ ¦CGI.pm ¦3.59 ¦ + ¦perl¦ ¦CPAN ¦1.9800 ¦query, download and build perl + modules from CPAN sites ¦perl¦ ¦CPAN-Meta ¦2.120630 ¦the distribution metadata for +a CPAN dist ¦perl¦ ¦CPAN-Meta-YAML ¦0.008 ¦Read and write a subset of YAM +L for CPAN Meta files ¦perl¦ ¦CPANPLUS ¦0.9121 ¦API & CLI access to the CPAN m +irrors ¦perl¦ ¦CPANPLUS-Dist-Build ¦0.62 ¦CPANPLUS plugin to install pac +kages that use Build.PL ¦perl¦ ¦Carp ¦1.25 ¦alternative warn and die for m +odules ¦perl¦ ¦Carp-Clan ¦6.04 ¦Report errors from perspective + of caller of a "clan" of modules ¦perl¦ ¦Class-Accessor ¦0.34 ¦Faster, but less expandable, a +ccessors ¦perl¦ ¦Class-C3 ¦0.24 ¦A pragma to use the C3 method +resolution order algortihm ¦perl¦ ¦Class-Data-Inheritable ¦0.08 ¦Inheritable, overridable class + data ¦perl¦ ¦Class-Load ¦0.13 ¦a working (require "Class::Nam +e") and more ¦perl¦ ¦Class-Load-XS ¦0.03 ¦XS implementation of parts of +Class::Load ¦perl¦ ¦Class-Method-Modifiers ¦1.10 ¦provides Moose-like method mod +ifiers ¦site¦ ¦Class-XSAccessor ¦1.14 ¦Generate fast XS accessors wit +hout runtime compilation ¦site¦ ...

    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
Re: What modules are shipped with ActivePerl on Windows in the default installation?
by muba (Priest) on Jan 08, 2013 at 16:14 UTC

    If I'm not misinformed, inside the ActivePerl directory there are three directories for modules:

    lib/
    The directory containing the modules that corelist knows about
    site/
    The modules that were installed post-installation by means of cpan, ppm, or whatver
    vendor/
    The non-core modules that were by default installed by your Perl distribution

    At least it works that way for my Strawberry installation, and I seem to remember it was the same for ActivePerl. I am sure I remember that ActivePerl at least had those directories, and I assume they're used the same way.

      It appears you are correct. There's a site directory in my ActivePerl install that contains both those modules that I've installed with ppm and one module I've installed from source, but does not contain the modules that came with the ActivePerl install.

      Thank you for the answer.

Re: What modules are shipped with ActivePerl on Windows in the default installation?
by SuicideJunkie (Vicar) on Jan 08, 2013 at 19:14 UTC

    Why not give them a batch file that 'ppm install's all the modules you might need?

    The first call will take a while to update the packlists regardless of whether it downloads or not, and any call that needs to download and install something will take a while... But the rest of the calls for things already installed return quite quickly, so you can just include everything you use in the batch file and it won't be too slow.

    C:\>ppm install opengl Downloading ActiveState Package Repository packlist...done Updating ActiveState Package Repository database...done Downloading trouchelle.com packlist...not modified Downloading Bribes packlist...not modified No missing packages to install C:\>ppm install yaml::tiny Downloading YAML-Tiny-1.51...done Unpacking YAML-Tiny-1.51...done Generating HTML for YAML-Tiny-1.51...done Updating files in site area...done 2 files installed C:\>ppm install yaml::tiny No missing packages to install

      I didn't do this because it turned out that the particular script I distributed doesn't need any modules other than Term::ReadKey and that was packed with ActivePerl. (It's a very simple script, mind you.) If there was at least one dependency that's not distributed with ActivePerl, then yes, I should probably list all the dependencies in such an install script.