in reply to (Golf) Mad-Lib Generator
Remeber, STDERR is unbuffered, so no need to $|++ it.
$_=join'',<>;s#\[([^\]]*?(\?)?)\]#$2?do{print STDERR"$1 "; $_=<>;chop;$_}:do{@f=split/\|/,$1;$f[rand@f]}#ge;print [download]