|Problems? Is your data what you think it is?|
Not_a_Number, sorry, I didn't want to get into the deep dark in my OP.
A long long time ago, I decided to use pipe separated file to store some of my data. I wrote a little subroutine which would process those files. Everything was good up until last night.
Last night I was rewriting a group of modules and scripts. A few of my data fields were several paragraphs each (making my data file scroll far off to the right as you can imagine). I decided to process those paragraphs with another subroutine I wrote a while ago, however, it would destroy HTML tags in the paragraphs. I needed to use another home rolled format to insert the tags. I had several HTML anchors in the text, so my home rolled way to show them looks akin to A<some text|href="http://some.link.com">. Now, you see the pipe in the tag? My subroutine which processes my data files was splitting the line at that pipe too.
Now, I initially chose to use pipe separated files because I did not think to the future where I would use pipes inside a data field. I did not have the home rolled tag parser when I made the decision nor was it even in mind at the time.
I tried to keep the OP clean of this deep dark history. It appears trying to be general has bitten me. I did not want this thread to turn into a discussion of my coding practices. I was just thinking of how I should not have said "I would never...", and how others should not get into that kind of thinking either about a little thing.
Just because you are not doing it today and do not have plans to do it tomorrow does not mean you will not to it the day after next. I just wanted to impart that piece of wisdom with as little drama as possible.
Most of what I have discussed up here is in a node somewhere else on PM. The subroutine I use to parse my data files is on my home node under "The present: Objects". The paragraph parser was discussed in 1059065 and 1062854 (discuss here if you wish). The home rolled tag parser was discussed in 1028657 and 1107051 (discuss here if you wish). I do not know if any of them need further discussion, they work.
I hope I have provided enough context. Going into it anymore would be going into the pitch black deep dark. I try not to go there often due to how unpopular my code is in some corners of the monastery.
No matter how hysterical I get, my problems are not time sensitive. So, relax, have a cookie, and a very nice day!