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:
in reply to use, require, do or what?
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.
# library.pl contains:
# $var = ...
print $var, "\n";