#!/usr/bin/perl -- # -*- Perl -*- use strict; use XML::XPath; my $usage = "$0 userid\n"; my $userid = shift @ARGV || die $usage; my $uri = "http://norman.walsh.name/2005/02/witw/is/$userid"; # hack! my $data = ""; open (F, "wget -q -O - $uri |"); while () { $data .= $_; } close (F); my $xpath = new XML::XPath($data); $xpath->set_namespace("is", 'http://nwalsh.com/xmlns/witw-is#'); if ($xpath->exists("//is:unknown-user")) { print STDERR "Unknown user: $userid\n"; exit 1; } my $name = $xpath->findvalue('//is:user/is:name'); if ($xpath->exists("//is:unknown-location")) { print STDERR "The whereabouts of $name are unknown.\n"; exit 1; } my $lat = $xpath->findvalue('//is:location/@lat'); my $long = $xpath->findvalue('//is:location/@long'); my $date = $xpath->findvalue('//is:location/@date'); # XML::XPath is doing some bizarro Perl overloading. # Skip the pretty printing. print "$name was last seen at $lat, $long.\n"; print "That was on $date.\n";