in reply to use of "use X"

To a certain extent, the use declaration is, shall we say, “overloaded.”   In some ways it is a lot like require, whereas in other ways it absolutely is not.   Here is another case where Perl might have infuriated semantic purists, in favor of being a pragmatically useful tool.   I suggest that you always treat the statement as a declaration, not as an executable statement.   Put all of the necessary declarations at the beginning of the module (beginning always with use strict; use warnings;), and leave them there.