On my PC, The "substr(), y" method takes about 0.6 microseconds, the "substr(), s" method takes about 1 microsecond, the "unpack x$index" method takes about 2 microseconds.
The "unpack a$index" method takes about 41 microseconds (when averaged over a 262000 byte string), so it's the one to avoid. It has to allocate the large substring it skips over before it throws it away.
Thanks a lot. I really appreciate your help!
I can mention, as a parenthesis, that this code is going to run in sparc solaris-environment.
When I tried the script at my PC perl took care of the null's by itself and just the substr worked fine.
I guess I have to live with the time it takes to do it "substr(),y"-way.