in reply to Auto install of a perl package if 'use' statement fails

you could use an eval to test the existance of a particular module.
use CPAN; eval "use My::Module" or do { CPAN::install("My::Module"); # or your code to install your custom module };