use strict; use Net::XMPP; use Data::Dumper; my $con = new Net::XMPP::Client(); my $status = $con->Connect( hostname => 'mh.com', connectiontype => 'tcpip', ); my @result = $con->AuthSend( hostname => 'mh.com', username => 'pi', password => 'pi' ); $con->PresenceSend(); $con->SetCallBacks( presence=>\&do_presence, message=>\&do_message, ); sub do_presence { my ($id, $presence) = @_; print "Presence\n"; print "From: ", $presence->GetFrom(), "\n"; print "Type: ", $presence->GetType(), "\n"; print "Status: ", $presence->GetStatus(), "\n"; } sub do_message { my($id, $msg)=@_; print "message: ", $msg->GetBody; } while(defined($con->Process())) { }