in your effort to remove info from your variable names, you've made it unreadable. you have nested gettok's without the delimiter and token for the outer one. also, the 4th parm of your wildcard read is for the line number to begin searching, and we have no way of knowing what's contained in your variable placed in that location.
also reminder that you should always use the 'nt' switches with $read unless you have a specific reason for not doing so.
Without the 't' switch, if line#1 is a number, it uses that as if it's the total number of lines in the file.
Without the 'n' switch, it evaluates %word and $word found in the line