| Module Info
| Add a review of Net-AIM
This module is probably the best of the TOC-based AIM modules, but that's not really saying much. The module is pretty complete, with support for both IMs and chats, as well as buddy lists, warnings, blocks, and all the other fundamental AIM operations.
However, it's a pretty bare interface. It makes no attempt to hide the details of the protocol or to help the programmer; as a result, things that it could do semi-trivally, such as sorting incoming IMs and chats into conversations, have to be done in user code. Because of this, I had to implement a 700-line OO layer on top of Net::AIM. (I'll likely release this to CPAN once it's documented fully.)
The documentation isn't very good either. Methods are documented, but events are not; because the protocol is so exposed, there's very little useful information in the module's source, forcing the module user to use a protocol specification (which covers lots of things (s)he could probably care less about, like how to separate arguments in TOC commands), read example code and experiment to work out how to use it.
There are a few other problems, too; for example, the author used "print STDERR" instead of "warn", which made it very hard for me to disable a persistent (but apparently harmless) warning.
Basically, if there were something better, I'd recommend that. But Net::AIM does seem to be the lesser of a few evils.