If you're displaying on an ANSI terminal, you can also use Term::ANSIScreen to move the cursor around. Here's a sample that clears the screen, prints "Hello" at column 10, row 10, pauses, then prints "Bye" on the same line.
in reply to full screen UI in perl
use Term::ANSIScreen qw(:cursor :screen);
$| = 1;
Update: Turned off buffering (which was causing some problems) and added example for clline.