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
# 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.