in reply to @INC Question

The reason push @INC doesn't work is probably that it isn't in a BEGIN{} block. use works at compile time, so by the time you change @INC, it's too late - you already died. Do
BEGIN{push @INC, '/new/library/path'}
before your use. (Better still, use lib - but I thought you might want to understand the internals.)

dave hj~