if ( $] >= 5.006 ) { print "This is good, your Perl is version $]\n"; } else { warn "Your Perl is only version $]: Bad!"; } #### require 5.006_001; # check at run-time, at this point in code. use 5.006_001; # check at compile-time #### eval { require 5.006_001; }; if ($@) { # $@ is set if the 'require' dies warn "Your Perl is too old." system ('n:\\install\\upgrade-perl.exe'); # imaginary } #### # 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 } #### if (-f 'c:\\program files\\some app\\app.exe') { print "APP is installed, good.\n"; } else { warn "APP not installed!"; }