Wait... I lied.  The way I was running it was fooling me.

> set thePattern to "\\|" & channelID & "\\||"

The doubled pipe is the problem.

Your pattern ends with '|', which means "or"... nothing.  So it will
match every line that contains the empty string, which is every line.

Undouble that pipe and you're good to go.

-- 
Mark J. Reed <[log in to unmask]>