Anonymous Monk has asked for the
wisdom of the Perl Monks concerning the following question:

The program below hangs was an infite time after you supply the second line of input. It doesn't pop up an error, the program just kind of halts but still does something in the background. Anyone know why that doesn't happen/know if this is the only reason messages send?

It isn't giving you an error because it's doing exactly what it is supposed to do, it will sit forever and wait for someone to send it an IM, then it will pass that message to the sub you specified in the callback argument.

Update: My bad, I thought you had called ui_dataget, which waits for an incoming packet, but you didn't, so this is the wrong answer...

More useful update: Your aim_agent value has a different format than the default, and the docs say that "There have been some reports that changing this may cause TOC servers to stop responding to signon requests", which seems to be the case, if I remove the aim_agent line from your constructor, it works.

You're right, that solves one of the two problems I have (I was hoping there'd be only one but now it's obvious I was wrong, sigh). I couldn't get the default agent to work so a monk told me a day or two ago to change it to this line, guess that line didn't work either.

The new problem is it's printing all my test messages but still not sending messages to the $destuser . Could this be because I have a real version of AIM open to the $destuser account and I'm trying to connect from command line as a different user?

You are missing () after $aim->signon I dont know if this makes a difference honestly.
You should check the return value of signon, when I ran your code, (with my aim of course) the return value of signon was undef (which the docs say means it failed). According to the documentation there are some error messages you can get back (IM_ERR). Try printing those out.
Also, it takes about thirty or forty seconds for the signon to fail, are you waiting long enough?
Good luck,
Josh