select *I=*STDERR;$|++;select STDOUT;$_=join('',); s#\[([^\]]*\?)\]#print I"$1 ";chomp($i=);$i#ge; s#\[([^\]]*)\]#@f=split(/\|/,$1);$f[rand@f]#ge;print #### print map{s/\?$/? /?print(STDERR)&&(<>=~/.*/g)[0]:split('\|')&&$_[rand@_]} map{split/\[(.+?)\]/}<> #### #!/usr/local/bin/perl print map{s/\?$/? /?print(STDERR)&&(<>=~/.*/g)[0]:split('\|')&&$_[rand@_]} map{split/\[(.+?)\]/}<> #### Hello [world|planet|dude|there], [Name?]! #### print map{if(s/\?$/? /){print STDERR;(<>=~/.*/g)[0]}@z=split/\|/;$z[rand@z]} map{split/\[(.+?)\]/}<> #### # Under Construction