From 3e960ae8a2af55022cde0b3f376f9459e1a05f6d Mon Sep 17 00:00:00 2001 From: "sgunderson@bigfoot.com" <> Date: Wed, 31 Mar 2010 19:27:44 +0200 Subject: [PATCH] Split XML parsing out in a separate program. --- lookup.pl | 13 +------------ xmlparse.pl | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 12 deletions(-) create mode 100755 xmlparse.pl diff --git a/lookup.pl b/lookup.pl index f22357b..ff7ba45 100644 --- a/lookup.pl +++ b/lookup.pl @@ -83,18 +83,7 @@ sub lookup { die $res->status_line; } - my $parser = XML::DOM::Parser->new; - my $doc = $parser->parse($res->content); - my $tracks = $doc->getElementsByTagName("track"); - if ($tracks->getLength == 0) { - print "Didn't recognize song\n"; - exit; - } - my $track = $tracks->item(0); - my $title = $track->getElementsByTagName("ttitle")->item(0)->getFirstChild->getData; - my $artist = $track->getElementsByTagName("tartist")->item(0)->getFirstChild->getData; - - print "$title,$artist\n"; + print $res->content; } sub make_part { diff --git a/xmlparse.pl b/xmlparse.pl new file mode 100755 index 0000000..6a8a047 --- /dev/null +++ b/xmlparse.pl @@ -0,0 +1,21 @@ +#! /usr/bin/perl + +use strict; +use warnings; +use XML::DOM; + +local $/ = undef; +my $content = <>; + +my $parser = XML::DOM::Parser->new; +my $doc = $parser->parse($content); +my $tracks = $doc->getElementsByTagName("track"); +if ($tracks->getLength == 0) { + print "Didn't recognize song\n"; + exit; +} +my $track = $tracks->item(0); +my $title = $track->getElementsByTagName("ttitle")->item(0)->getFirstChild->getData; +my $artist = $track->getElementsByTagName("tartist")->item(0)->getFirstChild->getData; + +print "$title,$artist\n"; -- 2.39.2