in reply to use statement in a conditional?

You could use require instead, as it happens at runtime instead of compile time. The downside is that you need to know where the file is of course.
if (<check that the file exists>) { require 'settings.pm'; settings->import(); } else { $::CONFIGPATH = "C:\\configdir\\config.pm"; }
Or you could use it in an eval, and run the else if it fails.
eval "use settings"; if ($@) { $::CONFIGPATH = "C:\\configdir\\config.pm"; }