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!";
}