The characters inside the square brackets are called a character class. The order of the characters is ignored, so you can't have 'ms' inside a character class and hope both characters are used as one. -------------------------------------------------

Thanks Fish.. but this isn't exactly what I had in mind. The thing is... this is just a sample script I'm basing another longer script on. The reason why I'm using this is because like this I can find the line position so I can use this piece of code which you guys had helped me on before on a similar parse.

And honestly ... I want the script to be able to pin point the position right, and having an empty line... <> does give me doubts. I wanted to know if there's any way (an additional delimiter) which would deal with the <> problem. The delimters.. [\s;\%]+ work fine... the problem is trying to get rid of the 'ms' in the following.

I could probably get rid of it using substring... but that just means more code for each line that contains ms... I wanted to do it in one swift way... for ecample.. '[\s;\%]+|ms'. This works, only that it then gives an additional empty line <> right after.

'ms' is not a delimiter so using split() is not the right approach to get rid of the unwanted characters. You should use a regexp or substr or possibly the tr/// operator to remove unwanted characters from a string. -------------------------------------------------

As much as possible, the line lengths should be kept below 80 col/chars (72 or below is ideal). If a statement is above that "limit", then break it up into multiple lines and long lists, such as your var assignments when parsing the line, should be put into col/row format.