# Example from exercises on page 85 function hanoi # n from to spare { integer nm1=$1-1 ((nm1>0)) && hanoi $nm1 $2 $4 $3 print "Move disc $2 to $3" ((nm1>0)) && hanoi $nm1 $4 $3 $2 } case $1 in [1-9]) hanoi $1 1 2 3;; *) print -u2 "Argument must be from 1 to 9" exit 1;; esac