use MyIO::Handle (); my $io = MyIO::Handle->new(); # ISA IO::Handle $io->fdopen(fileno(STDIN), 'r'); $io->fdopen(fileno(STDOUT),'w'); # don't block over STDIN my $line = <$io>; print $io "You said $line";