#!/opt/perl/bin/perl use strict; use utf8; use AnyEvent; use AnyEvent::XMPP::IM::Connection; unless (@ARGV >= 3) { die "sendmsg \n" } my $msg = do { local $/; }; my $dest = $ARGV[2]; my $j = AnyEvent->condvar; my $con = AnyEvent::XMPP::IM::Connection->new ( jid => $ARGV[0], password => $ARGV[1], initial_presence => -10, debug => 1 ); $con->reg_cb ( session_ready => sub { my ($con) = @_; print "Connected as " . $con->jid . "\n"; print "Sending message to $dest:\n$msg\n"; my $immsg = AnyEvent::XMPP::IM::Message->new (to => $dest, body => $msg); $immsg->send ($con); }, message => sub { my ($con, $msg) = @_; print "Message from " . $msg->from . ":\n" . $msg->any_body . "\n---\n"; }, error => sub { my ($con, $error) = @_; warn "Error: " . $error->string . "\n"; }, disconnect => sub { my ($con, $h, $p, $reason) = @_; warn "Disconnected from $h:$p: $reason\n"; $j->broadcast; } ); print "Trying to connect...\n"; $con->connect (); $j->wait;