use POSIX 'fmod';

sub angle {
my($b1,$b2) = @_;
   my $b = fmod( ($b2 - $b1 + 720) , 360);
   $b -= 360 if $b >  180;
   $b += 360 if $b < -180;
   return $b;
}

@bearings = (
    20,  45,
   -45,  45,
   -85,  90,
   -95,  90,
   -45, 125,
   -45, 145,
    29.4803,  -88.6381,
   -78.3251, -159.036,
   -70099.74233810938,  29840.67437876723,
   -165313.6666297357,  33693.9894517456,
   1174.8380510598456, -154146.66490124757,
   60175.77306795546,   42213.07192354373
);

while(my ($b1,$b2) = splice(@bearings,0,2)) {
    printf "%10.2f%10.2f =%8.2f\n", $b1, $b2, angle($b1,$b2);
}