История изменений
Исправление vel, (текущая версия) :
пример кода из man perlfunc /crypt использует вызов system «stty -echo»
Рализация termios это вызов ioctl(). Если вызов stty не нравится то, можно их выполнить самостоятельно.
use strict;
sub echo_ctl {
my $m = shift;
my $ts;
my $e = ioctl(*STDIN,0x5401,$ts);
my @a = unpack("L4C9", $ts);
$a[3] &= ~0x8;
$a[3] |= 0x8 if $m;
$ts = pack("L4C9",@a);
$e = ioctl(*STDIN,0x5402,$ts);
}
print "read A1\n";
my $a1 = <STDIN>;
echo_ctl(0);
print "read A2\n";
my $a2 = <STDIN>;
echo_ctl(1);
Исходная версия vel, :
пример кода из man perlfunc /crypt использует вызов system «stty -echo»
Рализация termios это вызов ioctl(). Если вызов stty не нравится, то, можно их выполнить самостоятельно.
use strict;
sub echo_ctl {
my $m = shift;
my $ts;
my $e = ioctl(*STDIN,0x5401,$ts);
my @a = unpack("L4C9", $ts);
$a[3] &= ~0x8;
$a[3] |= 0x8 if $m;
$ts = pack("L4C9",@a);
$e = ioctl(*STDIN,0x5402,$ts);
}
print "read A1\n";
my $a1 = <STDIN>;
echo_ctl(0);
print "read A2\n";
my $a2 = <STDIN>;
echo_ctl(1);