In many Linux distributions, Perl packages are, well, packaged, as Linux packages in the standard distro upgrade-mechanism. Most often, you should just use this and be done. But of course, sometimes you can’t, because distros tend to lag-behind ... and there is a reason why they do, which is this: that very-important bits of their own system management software is written in Perl. You do not want to disrupt that.
So, here’s what to do: do a Super Search, above, for “install non root,” because your situation is basically identical to that of someone who wants to install Perl in a shared-hosting environment where (s)he does not have access to the root userid. (Note also that you will not need to be root to do this, either. You will designate an additional directory to hold “local packages,” then set up cpan or cpanm to know to install to it, then arrange (by some operating-system appropriate means) for the PERL5LIB environment-variable to include it first, as will be confirmed by entering the command perl -V (with a capital V). Your search will quickly produce about 26 other threads and you should review them all.
The strategy is simple and sound: first, see if upgrading a Linux-distro package (or ActiveState or Strawberry) solves your problem. If not, make your upgrades alongside what is already there, in such a way that you supersede them for your own purposes but not theirs.