in reply to Hash debugging.

I think:
----
while(my $token = $stream->get_token("a"))

should be:
while(my $token = $stream->get_tag("a"))

and you should change:
my $url_desc = $stream->get_phrase();

to:
my $url_desc = $stream->get_text();

also change:
my $url = $token->[2]{href};

to:
my $url = $token->[1]{href};
if this is what you want. :-)