# We use escape the $ in $ret to delay expansion of $ret, so when $1
# is foo, eval sees foo=$ret and properly does the assignment
# We use escape the $ in $ret to delay expansion of $ret, so when $1
# is foo, eval sees foo=$ret and properly does the assignment