in reply to problem with INC

The push(@INC...) happens when your script is running, but the use kp1 happens at compile time, when @INC is not yet set. Two ways to fix it:
# make sure not to use a variable that is only set at run time BEGIN { push (@INC, "/home/usr/scripts"); } use kp1;
or
use lib "/home/usr/scripts"; use kp1;