Acme-Geo-Whitwell-Name
view release on metacpan or search on metacpan
lib/Acme/Geo/Whitwell/Name.pm view on Meta::CPAN
package Acme::Geo::Whitwell::Name;
use strict;
use warnings;
use Carp qw(croak);
use Exporter;
@Acme::Geo::Whitwell::Name::ISA = qw(Exporter);
@Acme::Geo::Whitwell::Name::EXPORT_OK = qw(to_whitwell from_whitwell);
use Scalar::Util qw(looks_like_number);
=head1 NAME
Acme::Geo::Whitwell::Name - Steadman Whitwell's "rational geographic nomenclature"
=head1 VERSION
Version 0.04
=cut
lib/Acme/Geo/Whitwell/Name.pm view on Meta::CPAN
my $word = '';
my $list = 0;
my $signed = 0;
my ($is_negative) = ($coord =~ s/[SW]//g);
my ($is_positive) = ($coord =~ s/[NE]//g);
croak
"Coordinate '$orig_coord' does not look like a proper coordinate"
if !looks_like_number($coord);
$is_negative = ($coord < 0) unless $is_negative;
my $conflicting = ($is_negative and $is_positive) ? 'conflicting ' : '';
croak "Multiple ${conflicting}sign indicators detected in '$orig_coord'"
if $conflicting or $is_negative > 1 or $is_positive > 1;
foreach my $digit (@coord) {
# Convert the next digit into a letter from the proper table.
my $letter = $lists->[$list]->[$digit];
( run in 1.386 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )