This command, a part of tclx is documented thusly within the package:
Parse a token out of a character string. The string to parse is contained in the variable named strvar. The string separators contains all of the valid separator characters for tokens in the string. All leading separators are skipped and the first token is returned. The variable strvar will be modified to contain the remainder of the string following the token.
This command does not work with binary data.
Compare with split and note that they are not equivalent.
Can anyone provide me an example of how this works?
50 % set s abc-def=ghi/jkl:mno(pqr)stu&vwx@yz abc-def=ghi/jkl:mno(pqr)stu&vwx@yz 51 % set sep -:()@ -:()@ 52 % ctoken s $sep abc 53 % set s -def=ghi/jkl:mno(pqr)stu&vwx@yz 54 % ctoken s $sep def=ghi/jkl 55 % set s :mno(pqr)stu&vwx@yz 56 % ctoken s $sep mno 57 % set s (pqr)stu&vwx@yz 58 % ctoken s $sep pqr 59 % set s )stu&vwx@yz 60 % ctoken s $sep stu&vwx 61 % set s @yz 62 % ctoken s $sep yz 63 % set s 64 % ctoken s $sep