Thanks for the responses! Qwasdo, your query works great. However, I do need to incorporate the curves into it. I was going to create a tiny buffer (10 cm) around each point, then clip the lines with those buffers, and use the tiny lines inside the buffers for the bearing from which I would calculate the perpendicular. I think I can take what you've written and build on it to do that.
danb, I'd like to see your linepart method, if you can find it or recreate it.