--- lib/Term/ReadLine.pm 2011-09-26 12:44:34.000000000 +0300 +++ lib/Term/ReadLine.pm 2015-11-15 23:28:33.000000000 +0200 @@ -191,32 +191,11 @@ sub addhistory {} sub findConsole { - my $console; - my $consoleOUT; - - if ($^O ne 'MSWin32' and -e "/dev/tty") { - $console = "/dev/tty"; - } elsif ($^O eq 'MSWin32' or $^O eq 'msys' or -e "con") { - $console = 'CONIN$'; - $consoleOUT = 'CONOUT$'; - } elsif ($^O eq 'VMS') { - $console = "sys\$command"; - } elsif ($^O eq 'os2' && !$DB::emacs) { - $console = "/dev/con"; - } else { - $console = undef; - } - - $consoleOUT = $console unless defined $consoleOUT; - $console = "&STDIN" unless defined $console; - if ($console eq "/dev/tty" && !open(my $fh, "<", $console)) { - $console = "&STDIN"; - undef($consoleOUT); - } - if (!defined $consoleOUT) { - $consoleOUT = defined fileno(STDERR) && $^O ne 'MSWin32' ? "&STDERR" : "&STDOUT"; - } - ($console,$consoleOUT); + my ($tty, $IN, $OUT) = "/dev/tty"; + -r $tty and $IN = $tty or $IN = "&STDIN"; + -w $tty and $OUT = $tty or $OUT = + defined fileno(STDERR) ? "&STDERR" : "&STDOUT"; + return ($IN, $OUT); } sub new {