The way that I understand it, the comma separated idea would compile as an or condition. This would not work for what you are trying to do because it is going to bail as soon as it sees one or the other. Because the pdl is doing a character by character comparison there would not likely be any way to prevent this. I suspect that the is used because it is a character that would be extremely rare to see in a normal data feed. What you may need to do in cases where this format will not work is to go to a length encoded scheme. If you do that, you could trim the control characters in the inbound-TPS or come to an agreement with the originating vendor not to include the control characters at the beginning and end of the message (there would be no purpose to the control characters because your criteria for a message would be the length). There is a significant decrease in overhead for a length encoded connection as well. Much of the difficulties in using length encoding comes from the fact that there is more agreement necessary on the front end between the sender and receiver but it sounds like you are having to work through those agreements anyways.