use CGI qw(-utf-8 :all *table); use LWP::Simple qw(get); use URI; use XML::LibXML; use Data::Dumper; use utf8; binmode(STDOUT, ":encoding(utf-8)"); my $parser = XML::LibXML->new(); $author = param('query'); $maxHits = param('maxHits'); my $url = URI->new("http://www.dblp.org/search/api/?"); my($q,$h,$c,$f,$format) = ($author,$maxHits,"4","0","xml"); $url->query_form( 'q' => $q, 'h' => $h, 'c' => $c, 'f' => $f, 'format' => $format, ); print header(-charset=>'utf-8'), "\n", start_html({-title=>'DBLP Search', -author=>'<>'}), "\n"; if (param('submit')) { my $xml= get($url); my $doc = $parser->parse_string( $xml); print h1("Authors"), "\n"; foreach my $authors ($doc->findnodes('/result/hits/hit/info')) { print $_->textContent, "\n" for $authors->findnodes('./authors/author'); my @array = map{$_->textContent} $authors->findnodes('./authors/author'); } } print h1("DBLP Query"), "\n"; print start_form({-method=>"POST" -action=>"http://cgi.csc.liv.ac.uk/cgi-bin/cgiwrap/u6ed/stat.pl"}); print label("query: "); print textfield({-name=>'query', -size=>200}), "\n"; print label("maxHits: "); print textfield({-name=>'maxHits', -size=>200}), "\n"; print br(), "\n"; print submit({-name=>'submit', -value=>'Submit'}), "\n"; print end_form, end_html