in reply to No interactivity (prompt) after reading from pipe

You could open the terminal, and read from the terminal instead of STDIN (which is connected to the pipe). Under Unix:
open my $kb, "<", "/dev/tty" or die; while (<$kb>) { ... }
Perl --((8:>*