Ouch. In Perl, there is often a better way to do an equivalent of the for loop that you describe. In particular, you should leave it up to perl to keep track of the indices.
If your data is in
input.txt, then
open INPUT, "input.txt" or die "Can't open input.txt: $!\n";
print '<table>';
while (<INPUT>) {
@words=split /\s+/;
printf "<tr><td>%s</td><td><input type=\"%s\" name=\"%s\"></td></t
+r>", $words[0], $words[1], $words[0];
}
print '</table>';
close INPUT;
would build a table for each line from the input. It's up to you to tweak the HTML.
Update: Put <tr></tr> in the right places.
Update 2: I tweaked HTML so that each checkbox gets more unique (but potentially not) name. :)