To check if a module is installed (available), generally the simplest way is to try to require() it. However, this actually loads the module. There are some cases where this is not desirable: 1) we have to check a lot of modules (actually loading the modules will take a lot of CPU time and memory; 2) some of the modules conflict with one another and cannot all be loaded; 3) the module is OS specific and might not load under another OS; 4) we simply do not want to execute the module, for security or other reasons. Module::Installed::Tiny provides a routine module_installed() which works like Perl's require but does not actually load the module. WWW: https://metacpan.org/dist/Module-Installed-Tiny