Posted to tcl by kbk at Sat Dec 19 19:44:11 GMT 2009view raw

  1. set list {peter(3) paul(2) mary(1)}
  2. set keylist {}
  3. foreach elt $list {
  4. set value 0; #guard against malformed entries
  5. regexp {[(](.*)[)]} $elt -> value
  6. lappend keylist [list $value $elt]
  7. }
  8. set outlist {}
  9. foreach pair [lsort -integer -index 0 $keylist] {
  10. lappend outlist [lindex $pair 1]
  11. }
  12. puts $outlist