There's more than one way to do things PerlMonks

### Comment on

 Need Help??
Put yourself on the Monk Map made even easier ;-)
```#! perl -w

use strict;

my \$usage = <<__EOT__;
Usage:
\$0 [<latitude> <longitude>] [-test]
Converts latitude and longitude (in degrees) to format suitable for Mo
+nkMap.
-test    runs selftest
__EOT__

my (\$lat, \$lon, \$test) = (0, 0, 0);
if (@ARGV == 2) {
(\$lat, \$lon) = @ARGV;
}
elsif (@ARGV == 1 && \$ARGV[0] eq '-test') {
\$test = 1;
}
else {
die \$usage;
}

if (\$test) {
selftest();
}
else {
printf "%s\n", ll2monkmap (\$lat, \$lon);
}

exit;

sub ll2monkmap {
my (\$lat, \$lon) = @_;
sprintf "%12.5f%12.5f   <!-- Location:latitude=%s,longitude=%s-->"
+, \$lat, \$lon, dec2degminsec(\$lat), dec2degminsec(\$lon);
}

sub dec2degminsec {
my \$dec = shift;

while (\$dec < -180) {
\$dec += 360;
}
while (\$dec > 180) {
\$dec -= 360;
}

my \$neg = \$dec < 0;
\$dec = - \$dec if \$neg;

my \$deg = int \$dec;
\$dec -= \$deg;

\$dec *= 60;
my \$min = int \$dec;
\$dec -= \$min;

\$dec *= 60;
my \$sec = int \$dec;

sprintf "%s%03d.%02d.%02d", \$neg ? "-" : "", \$deg, \$min, \$sec;
}

sub selftest {
my @angles = ( -360, -270, -180, -90, 0, 90, 180, 270, 360 );
my @deltas = ( -0.445, 0, 0.555    );
for my \$d (@deltas) {
for my \$a (@angles) {
my \$x = \$a+\$d;
my \$str = dec2degminsec(\$x);
my \$strll = ll2monkmap(\$x, \$x);
print "\$strll\n";
}
}
}

__END__

Author:    rudif@bluemail.ch
rudif@lecroy.com

46.20832     6.14296   <!-- Location:latitude=046.12.29,longitude=
+006.08.34-->

HTH
Rudif

In reply to Re: Put yourself on the Monk Map by Rudif
in thread Put yourself on the Monk Map by agoth

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

• Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
• Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
• Read Where should I post X? if you're not absolutely sure you're posting in the right place.
• Posts may use any of the Perl Monks Approved HTML tags:
a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
• You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
 For: Use: & & < < > > [ [ ] ]
• Link using PerlMonks shortcuts! What shortcuts can I use for linking?

Create A New User
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (3)
As of 2018-02-25 12:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
When it is dark outside I am happiest to see ...

Results (312 votes). Check out past polls.

Notices?