aboutsummaryrefslogtreecommitdiff
path: root/challenge-012
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-012')
-rwxr-xr-xchallenge-012/feng-chang/perl5/ch-3.pl24
1 files changed, 24 insertions, 0 deletions
diff --git a/challenge-012/feng-chang/perl5/ch-3.pl b/challenge-012/feng-chang/perl5/ch-3.pl
new file mode 100755
index 0000000000..ce69036c6b
--- /dev/null
+++ b/challenge-012/feng-chang/perl5/ch-3.pl
@@ -0,0 +1,24 @@
+#!/bin/env perl
+
+use Modern::Perl;
+use WWW::Mechanize;
+use XML::LibXML;
+
+exit unless @ARGV;
+
+my $m = WWW::Mechanize->new() or die "cannot initialize robot\n";
+
+my $base_url = 'http://www.stands4.com/services/v2/syno.php?uid=7082&tokenid=Bnm2q0xAKY2up6qQ';
+my $url = $base_url . "&word=$ARGV[0]&format=xml";
+
+$m->get($url);
+
+my $dom = XML::LibXML->load_xml(string => $m->content);
+foreach my $r ($dom->findnodes('//result')) {
+ say 'term: ', $r->findvalue('./term');
+ say ' definition: ', $r->findvalue('./definition');
+ say ' example: ', $r->findvalue('./example');
+ say ' partofspeech: ', $r->findvalue('./partofspeech');
+ say ' synonyms: ', $r->findvalue('./synonyms');
+ say ' antonyms: ', $r->findvalue('./antonyms');
+}