package Data::Microformat::geo; use base qw(Data::Microformat); use strict; use warnings; our $VERSION = "0.04"; sub class_name { "geo" } sub plural_fields { } sub singular_fields { qw(latitude longitude) } 1; __END__ =head1 NAME Data::Microformat::geo - A module to parse and create geos =head1 VERSION This documentation refers to Data::Microformat::geo version 0.03. =head1 SYNOPSIS use Data::Microformat::geo; my $geo = Data::Microformat::geo->parse($a_web_page); print "The latitude we found in this geo was:\n"; print $adr->latitude."\n"; print "The longitude we found in this geo was:\n"; print $adr->longitude."\n"; # To create a new geo: my $new_geo = Data::Microformat::geo->new; $new_adr->latitude("37.779598"); $new_adr->longitude("-122.398453"); print "Here's the new adr I've just made:\n"; print $new_adr->to_hcard."\n"; =head1 DESCRIPTION A geo is the geolocation microformat used primarily in hCards. It exists as its own separate specification. This module exists both to parse existing geos from web pages, and to create new geos so that they can be put onto the Internet. To use it to parse an existing geo (or geos), simply give it the content of the page containing them (there is no need to first eliminate extraneous content, as the module will handle that itself): my $geo = Data::Microformat::geo->parse($content); If you would like to get all the geos on the webpage, simply ask using an array: my @geos = Data::Microformat::geo->parse($content); To create a new geo, first create the new object: my $geo = Data::Microformat::geo->new; Then use the helper methods to add any data you would like. When you're ready to output the geo in the hCard HTML format, simply write my $output = $geo->to_hcard; And $output will be filled with an hCard representation, using