Мой sysopen не работает:
sysopen(DEV, "/dev/ttyS0", O_NONBLOCK|O_RDONLY)
возвращает 1, что успешно!Тогда почему $!есть ошибка «Недопустимый поиск» (где он не определен до вызова)
before sysopen $!:
after sysopen $!: Illegal seek
РЕДАКТИРОВАТЬ: Вот полный сценарий: (используя фактическое значение O_NONBLOCK | O_RDONLY 2048)
#!/usr/bin/perl -w
use Device::SerialPort;
my $ob;
$ob = new Device::SerialPort("/dev/ttyS0");
print $!, "\n";
$! = 0;
my $ret = sysopen(DEV, "/dev/ttyS0", 2048);
print $!, "\n";
$! = 0;
print "ret from sysopen: ", $ret, "\n";
#my $dev = <DEV>;
, который печатает: ./filehandle.pl Незаконный поиск Незаконный поиск ответ от sysopen: 1