use WordPress::XMLRPC; my $o = WordPress::XMLRPC->new; $o->username('test'); $o->password('test123'); $o->proxy('http://site.com/xmlrpc.php'); $o->server() || die "$!"; my $data = WordPress::XMLRPC::abs_path_to_media_object_data($name.'.jpg'); my $r = $o->newMediaObject($data); print $r->{id};