Perl programım USB üzerinden bağlanan bir seri aygıttan veri okuyor. Sözde Perl Senaryomun Manşetler:Yüklenen bir modülün kodundan yayılan Perl uyarıları nasıl bastırılır?
use warnings;
use strict;
use Device::SerialPort;
my $PortObj = tie(*$handle , "Device::SerialPort" , $PortName) or die "Cannot open serial port: $!\n";
while (1) {
my $readLength = read($handle , my $frameData , $frameLength)
}
tüm gayet iyi çalışıyor ve USB cihazı fişten bile ben cihaz dosyası kaybolur ve tekrar belirdiğinde, o durumdan kurtarmak mümkün değilim. Kendi kodumdan kaynaklanan tüm hataları yakalayabilirim, ancak yüklenen modüller (Device :: SerialPort) da uyarıları ortaya çıkarır ve kayıt defterimde görünmelerini istemiyorum.
Ben bu yüzden bu özel uyarılar görmüyorum benim koduna bayrağı çeşit ekleyebilir miyim? Kendi komut dosyamdan gelen uyarılar değil, yalnızca modüllerden/modüllerden gelen uyarıların bastırılmasının benim için önemli.
[/dev/ttyUSB1] 0x0020 : 00 00 00 00 00 00 00 00 00 AA 93 82 73 68 5E 58 : ............sh^X [/dev/ttyUSB1] 0x0030 : 55 54 52 52 4F 4E 50 51 50 00 00 00 00 00 00 00 : UTRRONPQP....... Use of uninitialized value $count_in in addition (+) at /usr/lib/perl5/Device/SerialPort.pm line 2214. Use of uninitialized value $string_in in concatenation (.) or string at /usr/lib/perl5/Device/SerialPort.pm line 2232. [/dev/ttyUSB1] Restart required! [/dev/ttyUSB1] Cannot open serial port: No such file or directory [/dev/ttyUSB1] Cannot open serial port: No such file or directory [/dev/ttyUSB1] Cannot open serial port: No such file or directory [/dev/ttyUSB1] 0x0000 : 41 42 01 40 71 01 1C E4 80 99 80 80 80 80 00 00 : [email protected] [/dev/ttyUSB1] 0x0010 : 00 03 00 00 83 00 01 01 00 00 00 00 00 00 00 00 : ................
Yani ben kurtulmak istiyorum iki Use of uninitialized value
uyarıları hakkında geçerli: Şu an için bu gibi görünüyor. Diğer uyarılar benim günlüğüm.
- libdevice-SerialPort-perl 1.04-2build1
- perl v5.12.4
O yazara bu hataları bildirmek için iyi bir fikir olacaktır. – ikegami
Tavsiyelerinizi takip edin. – jippie