array set array1 [list {123} {Abigail Aardvark} \
		       {234} {Bob Baboon} \
                       {345} {Cathy Coyote} \
		       {456} {Daniel Dog} ]

;#
;# Simply iterating through an array with a foreach loop:
;#

foreach id [array names array1] {
  puts "ID: $id belongs to $array1($id)"
  }

;#
;# Two procs iterating through the same array with iteration commands
;#

proc proc1 {arrayVar searchid} {
  global $arrayVar

puts "HIT PROC1"
  for{set i 0} {$i <2} {incr i} {
    set id [array nextelement $arrayVar $id];
    whoopee
    if {[array anymore $arrayVar $id] == 0} { return -1}
    }
puts "LEAVING proc1"
  return id;
  }

proc proc2 {id arrayVar searchid} {
  global $arrayVar 
  upvar $searchid id
  while {$id < 400} {
    puts "ID: $id is between 200 and 400: $arrayVar($id)
    set id [array nextelement $arrayVar $id];
    }
  }

set searchId [array startsearch array1];
set id1 [proc1 array1 searchId];
proc1 array1 searchId
proc2 $id1 array1 searchId;