The reason that you need to use the fully qualified name (File::Copy::copy(...)
) is because by putting your use's before your package declaration, you've declared them into your main namespace.
Any time you're in a file and haven't declared the namespace with package, the namespace defaults to main. After your package declaration, you're in the Mods::Debug namespace.
So by putting the use's after the package declaration, you import them into the Mods::Debug namespace instead of main. This is the right way to do it.
elusion : http://matt.diephouse.com