This appears to me, superficially, to simply be a matter of Perl not being able to find the CPAN module(s) in question. Which would lead us back to the @INC array and the various mechanisms which influence its content:
- The use lib statement.
- The PERL5LIB environment variable (whose value is set in very different ways, please note, in Linux/Unix vs. Windows).
- The base-list that is compiled into Perl.
Observe that the error-message output is telling you what the @INC array contains. The perl -V command (with a capital “V”) will tell you the same thing. Therefore, I would first go to a user for whom the command is working and use this command to see the list. Then, go to a user for whom it isn’t, and do the same thing again.
The lists might turn out to be different for one user versus the other. (See above.) Or, it may prove to be the case that some of the directory paths listed are not accessible to one user versus the other. (Perl silently ignores paths that it can’t find or that it can’t access.)