#!/bin/rc fn qsparse { ifs='&' b=`{echo -n $1} for(c in $b){ ifs='=' d=`{echo -n $c} QS_$d(1)=$d(2)} } echo ' form test

POST result

' a=`{read} qsparse $a echo '
'
ls -l /env/QS_*
echo '------'
# QS_name and QS_message are environment
# variables, but not yet shell variables.
# so we can't use $QS_name and $QS_message yet
# If you want to use them, execute:
#	cd /env; for(a in QS_*) $a=`{cat $a}
#	echo name $QS_name
echo name: $QS_name
echo message:
echo  $QS_message
cat<<-eof-

The decoded result in message is not correct for text, but may be good for single word.

see this script -eof-