You need to use "Execute()" to call functions using variable names.

Here is an example:
Code:
Break ON
$=SetOption("Explicit","ON")

Dim $s

$s="This is a string"

"Start string is: '"+$s+"'"+@CRLF
" In hex is: '"+udfFunction("udfHexString($$sParam1)",$s)+"'"+@CRLF
" Reversed is: '"+udfFunction("udfReverse($$sParam1)",$s)+"'"+@CRLF

Function udfFunction($sFunctionToCall,$sParam1)
Dim $sDiscard
$sDiscard=Execute("$$udfFunction="+$sFunctionToCall)
Exit @ERROR
EndFunction

Function udfHexString($s)
While $s<>""
$udfHexString=$udfHexString+Right("00"+DecToHex(Asc($s)),2)
$s=SubStr($s,2)
Loop
EndFunction

Function udfReverse($s)
While $s<>""
$udfReverse=Left($s,1)+$udfReverse
$s=SubStr($s,2)
Loop
EndFunction