If you wish to break apart a variable's value into separate pieces, you'll use the VAR (or VALUE) keyword. After the VAR keyword, you specify the variable name that contains the data to be broken apart (ie, the source). Then, you specify the names of other variables into which each token is placed. For example, here we specify that My_Variable's value is to be broken apart, and the first token is placed into the variable token.1, the second token is placed into the variable token.2, the third token is placed into the variable token.3, and the fourth token is placed into the variable token.4.
/* Parse My_Variable into 4 tokens */
My_Variable = "This is some data"
PARSE VAR My_Variable token.1 token.2 token.3 token.4
DO i=1 TO 4
   SAY "token."i "= '"token.i"'"
END
If you supply less token variables than there are actual tokens within the source, then the last token variable will contain all remaining tokens. For example, consider the following line:
PARSE VAR My_Variable token.1 token.2 token.3
This is broken off and assigned to token.1, is is broken off and assigned to token.2, and since token.3 is the last supplied token variable, the remainder of My_Variable's value, some data is assigned to token.3. So, the last token always gets whatever is left over of the value after preceding tokens have been broken off. Also, remember that leading (except for one space) and trailing spaces are not removed from the last token variable.

It's also acceptable to specify more token variables than there actually are tokens within the source. For example:

PARSE VAR My_Variable token.1 token.2 token.3 token.4 token.5
This is broken off and assigned to token.1, is is broken off and assigned to token.2, some is broken off and assigned to token.3, data is broken off and assigned to token.4. There are no more tokens within My_Variable, so token.5 is assigned to be an empty string (ie, '') containing no characters at all. (Actually, if there were more than one trailing space after data, these would be assigned to token.5).

PARSE does not alter the source variable (ie, being parsed). So after the PARSE instructions above, My_Variable is still This is some data. On the other hand, you can specify My_Variable as one of the token variables as well, in which case it will be altered. This is very handy if you wish to break off the first word of a variable, and then reassign the remaining tokens back to that variable. Here we break off the first word of My_Variable, assigning that token to token.1, and then the remaining tokens are reassigned to My_Variable.

PARSE VAR My_Variable token.1 My_Variable
After the above line, token.1's value is This and My_Variable's new value is is some data.
/* Parse My_Variable into all of its tokens */
SAY "Input a line"
PULL My_Variable
count = 0
DO WHILE My_Variable \== ""
PARSE VAR My_Variable token.count My_Variable SAY "'"token.count"'" count = count + 1 END SAY "There are" count "tokens."

If you use PARSE VAR without specifying any token variable names, then the specified source variable is accessed. If it does not have a value, the NOVALUE condition is raised, if enabled.