<P>Hmmmm</P>
<P>I seem to be making progress but I do not understand why:)&nbsp; Perhaps someone can explain what is going on.&nbsp; In the IQ callback, I can get the first item in the roster by referencing it as follows with the Net::Jabber 1.0028 pm release.&nbsp; </P>
<P>my @query = $iq-&gt;GetQuery();<BR>print ("name = ", $query[0]-&gt;GetItems-&gt;GetName(), "\n");<BR>print ("JID = ", $query[0]-&gt;GetItems-&gt;GetJID(), "\n");&nbsp;<BR>print ("Subscription = ", $query[0]-&gt;GetItems-&gt;GetSubscription(), "\n");<BR>print ("Group = ", $query[0]-&gt;GetItems-&gt;GetGroup(), "\n");</P>
<P>How do I get the second item?&nbsp; Using $query[1] does not do not as the array appears to have only one&nbsp;element although there are 10 items in the roster..&nbsp; </P>
<P>What does the GetItem object do?&nbsp;&nbsp;It is typed as a Master but&nbsp;I am not sure I understand what that means..</P>
<P>Any help is greatly appreciated as I get (slowly) through this learning curve.</P>
<P>Regards<BR>&nbsp;</P>
<P>&nbsp;<B><I>rebbaj rebbaj &lt;rebbaj2000@yahoo.co.uk&gt;</I></B> wrote:
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">
<P>Thanks Curtis, 
<P>I have not seen any referenced to the RosterParse in Jabber::Net 1.0028.&nbsp; It only seems to show up in the 1.0024 documentation.&nbsp; Is there a way to do this using 1.0028? 
<P>&nbsp;<B><I>Curtis Hawthorne &lt;cghawthorne@yahoo.com&gt;</I></B> wrote: 
<BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Rebbaj,<BR><BR>I think what you want is the RosterParse method in<BR>Net::Jabber. It returns a hash with all the information<BR>you need. For instance:<BR><BR>sub InIQ {<BR>my $sid = shift;<BR>my $iq = shift;<BR><BR>my %rosterupdate = $iq-&gt;RosterParse($iq);<BR><BR>foreach (keys %rosterupdate) {<BR>print "Name: ", $_-&gt;{name}, "\n";<BR>print "Subscription: ", $_-&gt;{subscription}, "\n";<BR>print "Ask: ", $_-&gt;{ask}, "\n";<BR>print "Groups: ", $_-&gt;{groups}, "\n";<BR>}<BR>}<BR><BR>From there you could turn it into an array if you wanted,<BR>but I would think a hash would be easier to work with.<BR><BR>Curtis H.<BR><BR>--- rebbaj rebbaj <REBBAJ2000@YAHOO.CO.UK>wrote:<BR>&gt; <BR>&gt; After some more testing, I got the impression that the<BR>&gt; following callback logic would work. Getting the <ITEM>s<BR>&gt; does not seem to work. Has anybody ever made this work<BR>&gt; before?? <BR!>&gt; sub InIQ<BR>&gt; {<BR>&gt; my $sid = shift;<BR>&gt; my $iq = shift; <BR>&gt; my $id = $iq-&gt;GetID();<BR>&gt; print "id = $id\n"; # works <BR>&gt; my $type = $iq-&gt;GetType();<BR>&gt; print "type = $type\n"; #works <BR>&gt; my $xmlns = $iq-&gt;GetQueryXMLNS();<BR>&gt; print "xmlns = $xmlns\n"; #works <BR>&gt; foreach my $query ($iq-&gt;GetQuery-&gt;GetItems) {<BR>&gt; print ("JID = $query-&gt;GetItem()-&gt;GetJID\n"); # prints a<BR>&gt; hash<BR>&gt; print ("Name = $query-&gt;GetItem()-&gt;GetName\n"); #<BR>&gt; prints a hash<BR>&gt; print ("Subscription =<BR>&gt; $query-&gt;GetItem()-&gt;GetSubscription\n"); # prints a hash<BR>&gt; print ("Group = $query-&gt;GetItem()-&gt;GetGroup[0]\n"); #<BR>&gt; prints a hash<BR>&gt; }<BR>&gt; } <BR><BR><BR>__________________________________________________<BR>Do you Yahoo!?<BR>Yahoo! Mail Plus - Powerful. Affordable. Sign up now.<BR>http://mailplus.yahoo.com<BR>_______________________________________________<BR>jdev mailing list<BR!>jdev@jabber.org<BR>http://mailman.jabber.org/listinfo/jdev</BLOCKQUOTE>
<P>
<P><BR>
<HR SIZE=1>
<A href="http://uk.yahoo.com/mail/tagline_xtra/?http://uk.docs.yahoo.com/mail_storage.html"><B><FONT face=Arial size=2>With Yahoo! Mail you can get a bigger mailbox -- choose a size that fits your needs</FONT></B></A><BR></BLOCKQUOTE><p><p><br><hr size=1><a href="http://uk.yahoo.com/mail/tagline_xtra/?http://uk.docs.yahoo.com/mail_storage.html"><b><font face="Arial" size="2">With Yahoo! Mail you can get a bigger mailbox -- choose a size that fits your needs</font></b></a><br>