I'm trying to write a small interactive program that reads commands and 
executes them (similar to irb, I guess).

However, in the main loop I have ...

   print "-> "

to print a prompt, but nothing comes out until after the user has entered 
something and pressed return.

I've tried various things, like ...

    $stderr.print "-> "
    print "-> "; $stdout.flush
    p "-> "

but nothing seems to work for me.

I'm obviously missing something.

I'm running 1.7.1 as built 2001-07-03, in case that's important.