in reply to I/O problems...what am I missing?

           $names[$sub-1] = $tem;

That's a typo. You probably want $names[$sub-1] = $temp2;

    print "\t$names[$ctr] scored $scores[$ctr]\n";

Another typo. Your array is named @score not @scores

Since you are splitting on colons, you might find an empty field at the end of your data. I don't think that will break anything in this case though.

-sauoq
"My two cents aren't worth a dime.";