zOs/REXX/COMPARE

$#@
$=new=A540769.WK.REXX(wsh)
$=old=A540769.WK.REXX(wshCopy)
call readNxBegin new, $new, new
call readNxBegin old, $old, old
lx = 0
do forever
    n1 = readNx(new)
    o1 = readNx(old)
    if n1 == '' | o1 == '' then
        leave
    lx = lx+1
    cx = compare(m.n1, m.o1)
    if cx <> 0 then do
        say 'line' lx 'diff at' cx
        say '  +' substr(m.n1, cx, 60)
        say '  -' substr(m.o1, cx, 60)
        end
    else if length(m.n1) <> length(m.o1) then
        say 'line' lx 'len new' length(m.n1) '<>' length(m.o1) 'old'
    end
say 'after line' lx 'new' copies('eof', n1 == '') ,
                    'old' copies('eof', o1 == '')
call readNxEnd new
call readNxEnd old