Don't get me wrong, I think VoiceXML is cool, but I don't
see how this relates to Perl. Anyway...
Originally, I interpreted your question to mean how do
you get text input using VXML. Finally I realized that
you don't mean text input, but rather you
want to let the user input arbitrary words. First, note
that would potentially introduce a security hole because
now you have to parse the input (it's on-topic
for purposes of meme propagation :). For that reason, it's better to explicitly list what input is
allowed and have the user choose from that list.
Beyond that, it'd be difficult for the
voice interpreter to translate arbitrary voice input
into text. Say you have a professor named "Skocpol".
Maybe the student will pronounce it as "Scockpole",
or maybe as "Schohpaul". It would be easier for the
interpreter to compare the voice input to a list of names
than to translate arbitrary input into a word (which you
would then have to match a regexp to "all" possible
interpretations). Even safer would be inputting dial
tones using "dtmf" mode.
I understand you want to allow arbitrary names because
then you don't have to hard-code the names each quarter/semester (also you don't have to list the names). But in that case, you should probably use an XML structure (or database) to store the data and a web interface for updating the data (maybe even VXML, if it's updated like: "Spell the professor's name." "Ess Kay Oh Pee ..." :)