Miles Fidelman wrote: > On 7/18/17 12:52 PM, Jude DaShiell wrote: > > >Does any means exist within perl to detect that a perl base installed on a > >system is completely intact? Perl base is perl binary and all support > >packages that binary uses before cpan or cpanp is run. The perl base is > >put on newly installed systems. > >I am interested in this since sometimes system updates break perl and > >steps have to be taken to clear the breakage then repair steps need to be > >taken. If a means exists to let a user know this list of packages came > >with your installed system and are now missing perl system repairs could > >be expedited. > >Aside from perl, such capabilities added to other base systems like python > >for one example could help out repairing those other systems too. > > Perl has the best collection of regression tests that I've ever seen. When > you install from a source tarball, and run "make test" - everything gets > checked. Same again when you install/update modules via cpan. It takes a > while, but you know everything is working. > > Personally, when I'm using perl, I always install from scratch, and maintain > using cpan - packagers & packaging just muck it up.
The Debian Perl team does an amazing job of packaging -- and patching -- the base perl as well as thousands of distributions from CPAN. Their bug reports and patches are a significant contribution to upstream maintenance. Debian packaging handles external dependencies of perl modules, which the perl toolchain is not capable of handling on its own. For casual, trouble-free installations, the system perl is excellent. That said, I generally compile perl from sources and install it in my $HOME directory, along with any CPAN modules that I need. There are various ways to install non-system perl. The newest and neatest IMO is plenv, which allows multiple perl versions to coexist. You can select a global perl version to use, and override it in individual directories. That floats my boat, however perlbrew and local::lib can also be useful. I find that cpanm (App::cpanminus) is the most convenient way to install CPAN modules. Coming to the OP's question, I agree with the poster who said that perl's testing framework is awesome. If there is a problem upgrading system perl, it's a bug. If reported, the Debian perl team will investigate it thoroughly. Problems are most likely with an unintended mix of system perl, perl installed by root in /usr/local, or unprivileged perl installed in $HOME. Which perl is picked up by a shebang line #!/usr/bin/env perl will depend on your $PATH variable. cheers, Joel > Miles Fidelman > > > -- > In theory, there is no difference between theory and practice. > In practice, there is. .... Yogi Berra > -- Joel Roth