in reply to 'use strict;' between libraries

Uhm, you must see the use of use strict; and my as two unrelated things. use strict; does not mean all your variables need to be lexical, and having lexical variables don't require the usage of strict.

Your problem comes because you made all your variables lexical. That means, the variables are no longer visible in other files (or blocks, but files are blocks too). Hence, they aren't shared. The variables you want to share need to be package variables. Probably the easiest, and certainly the most common way is the use of the Exporter module.

Abigail