Bill's referring to "indirection", where the UDF would identify the name of the variable to modify, instead of either passing and returning, or using a Global. Using his example, the "procedure" would use "$Fred" as its LValue, and use $Fred + 2 as its RValue, after determining that $Param1 contained "$Fred" and Param2 contained the value "2". That would add two to the variable $Fred without returning anything. Similar result to
 Code:
$Fred = MyFunc($Fred, 2)

Function MyFunc($P1, $P2)
  $MyFunc = $P1 + $P2
EndFunction
without actually having the assignment at the function.

I don't see a lot of use for this right away, and we could probably get crafty and use Execute to accomplish this.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D