Skipping NUL bytes sent by Arduino after boot

The idea is that I program my Arduino to continuously spit out data with "Serial.println( ... )". Then in PERL on Linux, I want to capture the data stream and do something fancy with it.

The problem I'm facing is that during boot of the Arduino, it starts sending a varying number of NUL-bytes and these NUL bytes mess up my post processing. So I want to skip these bytes in my PERL script:
Also there is a hexdump at the bottom of that wiki article that shows the exact problem.

I don't want to use handshaking in the data stream so I can use the same script for other devices than Arduino. Basically what my script needs is:

if ( next-byte-in-receive-buffer == NUL ) { 
} else {

print $received-byte;

Anyone know how I can peek at the next byte in the serial receive buffer?

you can add a wrapper around the serial port, or a class that embeds teh serial port.
This class takes care that all 0's are ignored.

pseudo code would look like

c = _realRead();
while (c == 0);
return c;