I wanted a new Perl!
perlbrew install stable
This turned out to be 5.26.1. I also want all the modules:
perlbrew list-modules | perlbrew exec --with perl-5.26.1 cpanm
But that doesn’t work:
ListUtil.c: loadable library and perl binaries are mismatched (got handshake key 0xd600000, needed 0xd880000)
Apparently, something with my `PERL5LIB` is wrong:
alex@sibirocobombus:~$ perl -E 'say for @INC' /home/alex/perl5/lib/perl5/x86_64-linux /home/alex/perl5/lib/perl5 /home/alex/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1/x86_64-linux /home/alex/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1 /home/alex/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1/x86_64-linux /home/alex/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1
I checked my `.bashrc` and found this:
# Setup local::lib eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"
Well, that looks suspicious. I commented this line, logged out, logged in again, and:
alex@sibirocobombus:~$ perl -E 'say for @INC' /home/alex/perl5/perlbrew/perls/perl-5.24.0/lib/site_perl/5.24.0/x86_64-linux /home/alex/perl5/perlbrew/perls/perl-5.24.0/lib/site_perl/5.24.0 /home/alex/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0/x86_64-linux /home/alex/perl5/perlbrew/perls/perl-5.24.0/lib/5.24.0 . alex@sibirocobombus:~$ perlbrew use perl-5.26.1 alex@sibirocobombus:~$ perl -E 'say for @INC' /home/alex/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1/x86_64-linux /home/alex/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1 /home/alex/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1/x86_64-linux /home/alex/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1
This looks good. I’ll have to remember that the current directory is no longer in `@INC` by default.
☯
Oh, and since we’re already here: what is the list of modules?
Algorithm::Diff Alien::Base Alien::Hunspell Alien::patch App::cpanminus Archive::Extract Authen::SASL B::Hooks::EndOfScope CGI CPAN::DistnameInfo CPAN::Meta::Check CPAN::SQLite Captcha::reCAPTCHA Capture::Tiny Class::Accessor Class::Data::Inheritable Class::Inspector Class::Load Class::Load::XS Class::Singleton Cpanel::JSON::XS Crypt::OpenSSL::RSA Crypt::OpenSSL::Random Crypt::Random::Seed Crypt::Random::TESHA2 Crypt::Rijndael DBD::SQLite DBI DB_File Data::OptList Date::Parse Date::Time DateTime DateTime::Format::Mail DateTime::Format::W3CDTF DateTime::Locale DateTime::TimeZone Devel::GlobalDestruction Devel::OverloadInfo Devel::StackTrace Digest::HMAC Digest::SHA1 Dist::CheckConflicts Encode::Locale Eval::Closure Exception::Class Exporter::Tiny ExtUtils::CChecker ExtUtils::Config ExtUtils::Helpers ExtUtils::InstallPaths FFI::CheckLib File::HomeDir File::Listing File::ShareDir File::ShareDir::Install File::Tempdir File::Which File::chdir File::pushd GD Geo::IP HTML::Parser HTML::Tagset HTML::Template HTML::Tiny HTML::Tree HTTP::AcceptLanguage HTTP::BrowserDetect HTTP::Cookies HTTP::Daemon HTTP::Date HTTP::Message HTTP::Negotiate HTTP::Server::Simple I18N::AcceptLanguage IO::HTML IO::Pipely IO::Socket::SSL Image::ExifTool Imager Import::Into JSON LWP LWP::MediaTypes LWP::Protocol::https List::MoreUtils List::Util MIME::Tools MLDBM MRO::Compat Mail Math::Fractal::Noisemaker Math::Geometry::Voronoi Modern::Perl Module::Build Module::Build::Tiny Module::Implementation Module::Load::Conditional Module::Runtime Module::Runtime::Conflicts Mojolicious Mojolicious::Plugin::AccessLog Mojolicious::Plugin::Authentication Mojolicious::Plugin::CGI Mojolicious::Plugin::RenderFile Moose Mozilla::CA Net::CIDR::Lite Net::DNS Net::HTTP Net::IDN::Encode Net::Patricia Net::SMTP::SSL Net::SMTP::TLS Net::SSLeay Net::Whois::IP Net::Whois::Parser Net::Whois::Raw Package::DeprecationManager Package::Stash Package::Stash::XS Params::Util Params::Validate Path::Tiny Perl PerlIO::utf8_strict Pod::Strip Proc::ProcessTable RPC::XML Razor2::Client::Agent Regexp::IPv6 SVG Shell::Config::Generate Shell::Guess Socket6 Sort::Versions Sub::Exporter Sub::Exporter::Progressive Sub::Identify Sub::Install Sub::Name Sub::Uplevel Test::CChecker Test::CleanNamespaces Test::Deep Test::Differences Test::Exception Test::FailWarnings Test::Fatal Test::Manifest Test::Most Test::Needs Test::NoWarnings Test::Requires Test::RequiresInternet Test::Simple Test::Warn Test::Warnings Text::Diff Text::Hunspell Tie::CArray Time::ParseDate Toadfarm Try::Tiny URI Variable::Magic WWW::RobotRules XML::Atom XML::LibXML XML::NamespaceSupport XML::Parser XML::RSS XML::SAX XML::SAX::Base XML::XPath XSLoader local::lib namespace::autoclean namespace::clean utf8::all
I wonder which of these I actually need. How will I ever prune this list? I’ll have to find and run all the Perl applications I have on this system.
#Perl