sub cfgRuntime { if (!%runtime) { loadConfig(); } $workframe -> Label(-text=>"Folder Separator") -> grid(-row=>1, -column=>1, -rowspan=>2); $workframe -> Radiobutton(-text=>"Windows", -value=>"\\", -variable=>\$runtime{'fsep'}) -> grid(-row=>1, -column=>2, -sticky=>"w"); $workframe -> Radiobutton(-text=>"Unix", -value=>"/", -variable=>\$runtime{'fsep'}) -> grid(-row=>2, -column=>2, -sticky=>"w"); $workframe -> Button(-text => "Save these values", -command=>[\&updGUIInput, "runtime", "save"]) -> grid(-row=>1, -column=>3, -sticky=>"e"); $workframe -> Button(-text => "Discard these values", -command=>[\&updGUIInput, "runtime", "discard"]) -> grid(-row=>2, -column=>3, -sticky=>"e"); $row = 3; for (keys %runtime) { if ($_ eq "fsep") {next} $workframe -> Label(-text=>$_) -> grid(-row=>$row, -column=>1); $workframe -> Entry(-width=>100, -textvariable=>\$runtime{$_}) -> grid(-row=>$row, -column=>2); $workframe -> Button(-text=>"Delete entry", -command=> sub { delete $runtime{$_}; } ) -> grid(-row=>$row, -column=>3); $rowsin = $row; $row++; } $btnNew = $workframe -> Button(-text=>"New variable", -command=>\&newVar ) -> grid(-row=>$row, -column=>1, -sticky=>"w"); }