in reply to map confusion

say @links looks like this:
@links = ( [1,2,3], [4,5,6], [7,8,9] );
and you apply
my @urls = map { $_->[0] } @links;
@urls will end up as
@urls = (1,4,7);

basically the code will produce a list that consists of the first elements of the anonymous arrays in @links.
see perlref

holli, regexed monk