# import a version of a module at compile time, die on failure use Module 1.02; # dies unless Module is at least v1.02 # at runtime, find version and act on it. eval { require Module; # if not installed, dies (go to end of eval) if ($Module::VERSION >= 1.02) { print "Module version is OK\n"; } else { warn "Module is installed, but is too old"; # maybe upgrade it here } } if ($@) { # run if 'require Module' fails warn "Module is not available"; # maybe install it here }