Perl module names correspond to a
.pm file path out of a necessity -- not any specific rule of the languague, but because that's how perl finds them. This assumption can be used with
apt-file search to determine which distro package, if any, contains that file:
apt-file search "/Future/Utils.pm"
There are a lot of modules with no package, however, and the easiest way to get those is directly from CPAN, for which the
cpan utility provides an interactive interface. It is probably already installed if perl is. The first time you use it, it will ask to do a bit of auto-configuration. You probably want to
su root first, so that you can install to the system rather than a user home, and so the cpan config is saved in the right place (root's home directory). Then you just
install Future::Utils from the
cpan prompt. Installing a module this way may require build tools if there is XS code involved; cpan will let you know about this and tell you what you need to install first. You may also sometimes require specific libraries and the development header packages for them.
You can have multiple versions of a module installed, one from a distro package and one from CPAN, since they go to different places by default. The CPAN one is what will get used, however, since its path takes precedence in the
@INC array -- but you can change this or set
$PERL5LIB (a shell environment, not perl, variable).