Ooops. Apologies everyone for wasting time. Offset in read(), sysread() is the offset in the string your reading into, not the file your reading out of... Alan Fry