This is easily the best of the AIM modules I've seen. The biggest flaw is the documentation, which is superficially complete, but has some broken links, inadequate cross-referencing, and some almost-but-not-quite-complete examples. It also neglected to mention that a feature wasn't actually implemented (using OSCAR_RATE_MANAGE_AUTO kills your program with a not-yet-finished error message). But still, I managed to get it to do everything I wanted it to, and I made it jump through some pretty tricky hoops without any bugs or surprises.
If you're doing something simple, this is very easy to use. The brief example in the docs will get you up and running in an instant.
If you're using AIM sockets in concert with other sockets, you'll need to know how to use select() the old-fashioned way, instead of using the more modern IO::Select(). The documentation has an ALMOST complete example of how to do this. Here's another example to help fill in the gaps -- it shows how to set up $rin and $win, and how to check them afterwards. It assumes you have an IO::Socket called $my_socket which you also want to select on. This might be a listening socket or a connected socket waiting for input.
my ($rin, $win, $ein);
my @oscar_filenos = $oscar->selector_filenos();