http://www.perlmonks.org?node_id=701233


in reply to use, require, do or what?

When you declare a variable with my it won't be accessible in require-d code. One alternative is to use our instead of my:
our $var; require 'library.pl'; # library.pl contains: # $var = ... print $var, "\n";
However, modifying variables this way in not a great idea. Think about what the purpose of the module is. For instance, if you are using it to compute a function, make the module define a subroutine which is called by your program when it's needed. If is being used to define constants, then consider putting it in its own namespace and exporting the values.