in reply to Need to Update Tk Widgets

Try replacing the following line:
if ($totalmass != 0){@wtPercent = map{$_ / $totalmass}@wtPureAmt}else{ +$statustext = "You need to give me numbers!"};
with its foreach equivalent:
if ($totalmass != 0){ foreach (0 .. $#wtPercent) { $wtPercent[$_] = ($wtPureAmt[$_] / $totalmass); } } else { $statustext = "You need to give me numbers!" };
I have not had time to fully read the docs but it seems as if reassigning the @wtPercent array using map is breaking its connection with -textvariable. I'm puzzled as to why this would be the case and would be interested to hear the full explanation from a more learned monk, but surprisingly the above works.
Very nice GUI by the way.