$_=join'',<>;s#\[([^\]]*?(\?)?)\]#$2?do{print STDERR"$1 "; $_=<>;chop;$_}:do{@f=split/\|/,$1;$f[rand@f]}#ge;print