in reply to Re^2: use a package multiple times
in thread use a package multiple times

push(@INC, 'c:\perl\programs'); # this is where all code lives

use happens at compile time, so if you want that to have an effect, you need to put it in a BEGIN block