Need your help - tcl

Hello,

Can someone explaine me the meaning of this program:

 
#! /usr/bin/tclsh
set mctal [open myfile r]
set a  [lindex $argv  1]
set b  [lindex $argv  2]
set c  [lindex $argv  3]
set d  [lindex $argv  4]
set e  [lindex $argv  5]
while {![regexp \^tally\ \*\($a\|$b|$c|$d|$e\) [gets $mctal] line cell]} {
}
while {![regexp \^vals [gets $mctal] line]} {
}
while {![regexp \^tally\ \*\($a\|$b|$c|$d|$e\) [gets $mctal] line cell]} {
}
while {![regexp \^vals [gets $mctal] line]} {
}
while {![regexp \^tally\ \*\($a\|$b|$c|$d|$e\) [gets $mctal] line cell]} {
}
while {![regexp \^vals [gets $mctal] line]} {
}
while {![regexp \^tally\ \*\($a\|$b|$c|$d|$e\) [gets $mctal] line cell]} {
}
while {![regexp \^vals [gets $mctal] line]} {
}
while {![regexp \^tally\ \*\($a\|$b|$c|$d|$e\) [gets $mctal] line cell]} {
}
while {![regexp \^vals [gets $mctal] line]} {
}

I understand that in the regexp, that is looking for the lines starting with "tally" followed by any number of spaces, but then I cannot understand the following....

Can someone give me some explanations?

Thanks