
"require expr" only accepts class/name.pm style module names, not class::name. for that, class::load provides "load_class 'class::name'".
it's often useful to test whether a module can be loaded, instead of throwing an error when it's not available. for that, class::load provides "try_load_class 'class::name'".
finally, sometimes it is important to know whether a particular class has been loaded. asking %inc is an option, but that will miss inner packages and any class for which the filename does not correspond to the package name. for that, this module provides "is_class_loaded 'class::name'".