I have a perl script (test.pl
). If I run this cript by command perl test.pl
, it work as normal. However, when I run command sudo perl test.pl
, the error below occurs:
Can't locate Log/Log4perl.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .)
I think it is strange, because I run script by root
. Do you know why?
You may get such an error if the module you are using is not installed which seems not our case here.
The other possibility is to have a different
@INC
array between the two users you are running as. You can verify this using:Compare the output to see the different paths in
@INC
. You can then fix the@INC
by adding the missing path or install the needed module in one of the already defined paths.