Does adding the "p" switch to the $read() help?
Quote:
$read(filename, [ntswrp], [matchtext], [N])
If the p switch is specified, command | separators are treated as such instead of as plain text.