Looking at the source of XML::Mini::Document, it has the dreaded $^W = 1; right at the top. That turns on warnings globally. It would be best to submit a patch that changes that to use warnings or, at the very least, uses local $^W = 1 instead. To turn the warnings off in your code, you can set local $^W = 0; or no warnings; in the appropriate place.