$input = "-0 1 0"; my $sign = ($input =~ /^\s*-/) ? -1 : 1; my ($d,$m,$s) = map abs, split / /, $input; my $decdegrees = $sign * ($d + $m/60 + $s/3600); print $decdegrees