Hmm, never used perl with apache without mod_perl before. Does it start a new perl instance on every cgi call? So at least you get response from the script right? I mean as HTML in a browser. When you print @INC after your use lib line, do you see your $HOME/lib/perl5 in there? Was just wondering if ENV{$HOME} actually would have the right path or would show up something like /home/nobody/lib/perl5 or /lib/perl5?