use Data::Dumper; use XML::Simple; use WWW::Mechanize; my $login_url = "http://www.jstor.org/action/doXmlSearch?query=dc.title+%3D+%22test%22&version=1.1&operation=searchRetrieve&recordSchema=info%3Asrw%2Fschema%2F1%2Fdc-v1.1&maximumRecords=10&startRecord=1&a.discipline=&recordPacking=xml"; my $mech = new WWW::Mechanize; $mech->get($login_url); my $xml = $mech->content; $xml =~ s/\<\?xml version="1.0" encoding="UTF-8"\?\>//ig; $xml =~ s/\<\?xml-stylesheet type="text\/xsl" href="\/templates\/xsl\/_jstor\/search\/searchRetrieveResponse.xsl"\?\>//ig; my $xs = XML::Simple->new(); my $ref = $xs->XMLin($xml); my $records_data = $ref->{'records'}->{'record'}->{'recordData'}->{'srw_dc:dc'}; foreach my $rd ($records_data){ my ($title) = $rd->{'dc:title'}; print "\n " . $title; }