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.