How about this?
Code:
alias urlencode {
  bset -t &a 1 $1- 
  tokenize 32 $bvar(&a,1-) 
  var %a
  scid -r var % $+ b = $* , $eval(%a = %a $+ $iif($chr(%b) isalnum,$ifmatch,% $+ $base(%b,10,16,2)),0) 
  return %a
}
/scid -r allows you to "pass" $* to /var, /set or identifiers (something you can't do directly in a script) smile