in reply to Using the %ENV hash with the lib module

use statements are executed at compile time. Think of
use Module LIST;
as equivalent to:
BEGIN { require Foo; import Module LIST; }
(which, if you read the use manpage, it is.)

Your variable is getting set at runtime (it doesn't matter that it's in %ENV, that's just a coincidence). So you need to put it in a BEGIN block:

BEGIN { $ENV{'DTS_DIR'} = "/net/endeavor/users/DTS"; } use lib qq($ENV{'DTS_DIR'}/common);