function yieldtst, file, yield=yield nl = 0L & tmp='' openr,lun,file,/get_lun on_ioerror,NOASCII while not eof(lun) do begin readf,lun,tmp nl = nl + 1 if keyword_set(yield) then if (nl mod 30) eq 0 then yield endwhile close,lun free_lun,lun NOASCII: if keyword_set(yield) then yield, /destroy return,nl end