Jouke, great to see the code! May your daughter and others
enjoy the use of it...

Little remark (at first glance): It would be nice if you
warn users at startup if they are on unix and not have the
'play' command available.

I've glanced at CPAN (yes, it's still your friend), and
I saw a few possibilities.
-Audio::Play plays sounds
on both unix and win32, but it cannot play WAVs, only
.au and .snd formats, which I don't know.
-Audio::Play::MPG123 plays mpegs cross-platform
(tested on win32 and linux).

There are many more modules to convert and change audio-files
in different formats. Search on Audio to find them.

1. There are a lot of things to improve, indeed like warning if things aren't available and they should. I'll take that into consideration for a next step.
2. I've been looking around for the most suitable cross-platform audio-player. Audio::Play seems to be suitable, but OeufMayo has tried to compile it in different ways on Win32 with no luck. I've contacted the author -Nick Ing-Simmons- who promised to update the CPAN-version because he has another version that DOES compile on Win32...sadly he didn't up till now despite some reminder-mails from me...
3. I'll take a look at Audio::Play::MPG123. I didn't look any further at it because I thought it was only a wrapper around some other tool. It would however be a great improvement if I could play MP3's.

I'm planning to use Festival for the speech-output, but Kevin Lenzo (one of Festival's authors) is still busy with the dutch language part...takes time...

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other