http://qs321.pair.com?node_id=931110


in reply to Can't install CPAN modules

Math::Random is a Perl wrapper around compiled C code. Since you did not have make I assume you don't have a C compiler; that's why it fails.

If you're using Activestate Perl, ppm install Math::Random at the DOS command line should be all you need to do.

Replies are listed 'Best First'.
Re^2: Can't install CPAN modules
by hsfrey (Beadle) on Oct 13, 2011 at 01:41 UTC
    Thank you. When I enter that command, the reply is "No missing packages to install", which would lead one to believe that the module is installed properly.

    But, when I put code like:

    use MATH::Random; $a = random_uniform(45); print "\na=$a";
    I get an error message:
    Can't locate loadable object for module Math::Random in @INC

    In perl/lib/Math I have a file named Random.pl
    I have other pieces of the download scattered all around the disc, since I had no idea what was supposed to go where.

    If ppm could find the module, why couldn't perl?

      I suspect that your earlier efforts to install put the Perl wrapper files in place - enough to confuse ppm - but not the compiled files. (In my site/lib/auto/Math/Random directory are Random.bs, Random.dll, Random.exp, and Random.lib.)

      Try ppm install --force Math::Random - the force option will make ppm replace whatever is currently in place.

      I agree with keszler that previous attempts have your Perl installation a bit confused.

      In the future, I recommend using the graphical version of ppm (Active State's Perl package manager). typing simplly "ppm" at the command prompt without parameters will start the GUI version. "ppm help" gives help for the command line version, but for most simple things the GUI is easier to use.

      If you have really messed things up, un-install Perl (via the normal add/remove program way) and re-install Active State's Perl, then use ppm for all future package installations. This will save many hours of frustration on your end!