use warnings; no warnings "uninitialized"; use strict; use WWW::Mechanize; use MIME::Types; my $mt = MIME::Types->new; my $mech = WWW::Mechanize->new(); $mech->get("http://dspace.mit.edu/handle/1721.1/53720"); for my $link ( $mech->links() ) { my $uri = $link->url_abs(); print $uri, $/ if $mt->mimeTypeOf($uri->path) eq "application/pdf"; } # http://dspace.mit.edu/bitstream/handle/1721.1/53720/MIT-CSAIL-TR-2010-018.pdf?sequence=1