On a new bot I was writing I keep getting this strange Perl error.
It was:
Code:
Can't locate l18h/Langinfo.pm in @INC (@INC contains: ./lib F:\Program Files\ActiveState Perl Dev Kit 6.0\lib\ F:/usr/lib F:/usr/site/lib) at eval 18 line 39.
First I was doing the Net-OSCAR handlers and stuff, and after some debugging I found that the error was caused from my buddy_in handler's code. I looked over the code a few times and didn't find anything wrong, all it was doing was checking if a hashref exists and creating it if it didn't.
When I totally cleaned out the sub of everything, leaving it empty (well, with the @_ line), the error went away. I tried making the sub JUST print a little notification about itself, and the error came back.
I ended up having to leave that sub completely blank because ANY Perl code, no matter how valid it was, would always cause that error when I put it in that subroutine.
And now the error's coming back with my MSN synchronization subroutine, which I copied the code exactly from Leviathan and it should work.
I searched CPAN for the module and it was under the package perl-5.8.7 but when I copied the file into my lib, the error changed to:
Code:
Can't locate F:/usr/lib/auto/I18N/Langinfo/autosplit.ix in @INC (@INC contains: ./lib F:\Program Files\ActiveState Perl Dev Kit 6.0\lib\ F:/usr/lib F:/usr/site/lib .) at F:/usr/lib/AutoLoader.pm line 156, <DATA> line 1.
I've even reinstalled Perl 5.8.7 thinking it was an accidental deletion of a standard module, but no help.
I can't think what's causing the error. In the first error it was used in an eval, so any loaded module could've provoked the error.
The modules I loaded were:
Code:
##################################################
# Load the major modules. #
#------------------------------------------------#
use lib "./lib"; # Local library. #
use strict; # Better coding. #
use warnings; # Useful warnings. #
use Win32::Console::ANSI; # Colors. #
use Term::ANSIColor; # More colors. #
use File::Basename; # Get the bot's root. #
use LWP::UserAgent; # URL grabbing. #
use Chatbot::Alpha; # Bot brains. #
use Time::Format; # For time stamps. #
use Games::Multiplayer::Manager; # For games. #
#------------------------------------------------#
# Messenger-specific Modules. #
#------------------------------------------------#
use Net::OSCAR qw(:standard); # AIM. #
use MSN; # MSN. #
use Net::CyanChat; # Cyan Chat. #
use URI::Escape; # For HTTP daemon. #
use Net::Jabber qw(Client); # Jabber. #
use Net::Jabber::Message; # Jabber. #
##################################################
All these modules I've used in Leviathan except for the ANSI ones, but even commenting out their use lines and commenting references to them (I made a global &ansi sub so I could easily remove the ANSI colors if I needed to)... the error's still there.