$ cd $HOME $ mkdir localperl $ cd localperl $ wget https://www.cpan.org/src/5.0/perl-5.38.0.tar.gz $ sha256sum perl-5.38.0.tar.gz 213ef58089d2f2c972ea353517dc60ec3656f050dcc027666e118b508423e517 perl-5.38.0.tar.gz # (eyeball this to verify it matches the value displayed at: # https://www.cpan.org/src/5.0/perl-5.38.0.tar.gz.sha256.txt) $ tar -xzf perl-5.38.0.tar.gz $ cd perl-5.38.0 $ ./Configure -des -Dprefix=$HOME/localperl $ make 2>&1 | tee make.tmp $ make test 2>&1 | tee test.tmp $ make install 2>&1 | tee install.tmp $ type perl perl is /usr/bin/perl $ export PATH=$HOME/localperl/bin:$PATH $ type perl perl is $HOME/localperl/bin/perl $ perl -v This is perl 5, version 38, subversion 0 (v5.38.0) built for x86_64-linux ... #### $ cpan App::cpanminus 2>&1 | tee inst-cpanminus.tmp #### $ corelist Module::Signature Module::Signature was not in CORE (or so I think) $ corelist Digest::SHA Digest::SHA was first released with perl v5.9.3 $ cpanm --from https://www.cpan.org/ Module::Signature 2>&1 | tee ModuleSignature.tmp --> Working on Module::Signature Fetching https://www.cpan.org/authors/id/A/AU/AUDREYT/Module-Signature-0.88.tar.gz ... OK Configuring Module-Signature-0.87 ... OK ==> Found dependencies: IPC::Run --> Working on IPC::Run Fetching https://www.cpan.org/authors/id/T/TO/TODDR/IPC-Run-20220807.0.tar.gz ... OK Configuring IPC-Run-20220807.0 ... OK Building and testing IPC-Run-20220807.0 ... OK Successfully installed IPC-Run-20220807.0 Building and testing Module-Signature-0.87 ... OK Successfully installed Module-Signature-0.87 2 distributions installed #### $ cpanm --from https://www.cpan.org/ --verify Roman 2>&1 | tee Roman.tmp --> Working on Roman Fetching https://www.cpan.org/authors/id/C/CH/CHORNY/Roman-1.24.tar.gz ... OK Fetching https://www.cpan.org/authors/id/C/CH/CHORNY/CHECKSUMS ... OK Configuring Roman-1.24 ... OK Building and testing Roman-1.24 ... OK Successfully installed Roman-1.24 1 distribution installed #### $ cpanm --uninstall Roman Roman contains the following files: $HOME/localperl/lib/site_perl/5.38.0/Roman.pm $HOME/localperl/man/man3/Roman.3 Are you sure you want to uninstall Roman? [y] y Unlink: $HOME/localperl/lib/site_perl/5.38.0/Roman.pm Unlink: $HOME/localperl/man/man3/Roman.3 Unlink: $HOME/localperl/lib/site_perl/5.38.0/x86_64-linux/auto/Roman/.packlist Successfully uninstalled Roman #### # Use my locally built perl 5.38.0 PATH="$HOME/localperl/bin:$PATH"