#!/usr/bin/perl use Net::OSCAR qw(:standard); %signon = ( screenname => 'myscreenname', password => 'mypassword', local_ip => 'myip', ); $recipient = "myfriend"; $message = "mymessage"; sub signon_done { print "signed on\n"; $online = 1; } $oscar = Net::OSCAR->new(); $oscar->set_callback_signon_done(\&signon_done); $oscar->signon(%signon); while(1) { $oscar->do_one_loop(); if ($online) { $oscar->send_im($recipient, $message); sleep(5); } }