$ 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
####
curl -L https://cpanmin.us | perl - App::cpanminus