Please note that I didn't pay a lot of attention to keeping the "double" notation in the form of higher precision floating point routines. This means that the Perl5 code won't be as accurate as the original C-code. It doesn't matter for my purposes. If anyone converts to Math::BigFloat for higher precision, please send me the changes. As it is I did a quick check and found a difference of only 1.4 meters between my Perl results and the results from a web-based datum-shift calculator on the 'net. -- Curt.