I emailed the Perl-GPS errors several years ago when the current
release was perl-GPS-0.12. I installed perl-GPS-0.15-1.fc6, and was
disappointed to find it necessary to still have to make the same
source corrections. Before changing your source, I got these errors:
Use of uninitialized value in length at /usr/lib/perl5/vendor_perl/5.8.8/GPS/Serial.pm line 79.
Use of uninitialized value in bitwise xor (^) at /usr/lib/perl5/vendor_perl/5.8.8/GPS/NMEA.pm line 120.
Here is diff output showing changes:
bash-3.1$ diff /usr/lib/perl5/vendor_perl/5.8.8/GPS/Serial.pm Serial.pm
79c79,80
< $self->usleep(1) unless (length($line) % 32);
---
> # Fri Jul 21 16:43:50 CDT 2006 Smitty added '$line &&':
> $self->usleep(1) unless ($line && length($line) % 32);
bash-3.1$ diff /usr/lib/perl5/vendor_perl/5.8.8/GPS/NMEA.pm NMEA.pm
103c103
< return "$deg.$dm$sec";
---
> return $deg+"$dm.$sec"/60; #return "$deg.$dm$sec"; # Smitty modified.
120c120
< $csum ^= unpack("C",(substr($line,$_,1))) for(1..length($line));
---
> $csum ^= unpack("C",(substr($line,$_,1))) for(1..length($line)-1); # Smitty added -1.
These errors probably won't show unless your script looks like this
#!/usr/bin/perl -w
use strict 'vars';