It may be that it's working but buffering is hiding the fact. In your script you need to set:
$| = 1;
make sure you print results as you generate them, rather than printing all the results at the end.
my browser (IE5.5/windows) won't print "anything" until a certain number of bytes are printed, so you may want to print a long string at the start to prime things.
oddly, i have found that under mod_perl i don't need as long a string to "get things started" as i do under straight cgi