When connected to stdout, perl uses line buffering. If not connected to stdout (e.g. from a pipe) it defaults to block buffering. This causes a long delay and decoding issues when using the NMEA output in other tools.
With this change always use line buffering so that NMEA messages are flushed immediately.
When connected to stdout, perl uses line buffering. If not connected to stdout (e.g. from a pipe) it defaults to block buffering. This causes a long delay and decoding issues when using the NMEA output in other tools.
With this change always use line buffering so that NMEA messages are flushed immediately.
Tested with NMEAoIP and GPSD:
Or with the test data in the repository: