From 7e90559bfc8990799ba86a105f10c3c1cd3b72fa Mon Sep 17 00:00:00 2001 From: Dobrica Pavlinusic Date: Fri, 6 Aug 2010 21:25:35 +0200 Subject: [PATCH 1/1] fail chain without serial ports --- lib/RFID/Biblio/Reader/Serial.pm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/RFID/Biblio/Reader/Serial.pm b/lib/RFID/Biblio/Reader/Serial.pm index 74f8cfa..b118fe3 100644 --- a/lib/RFID/Biblio/Reader/Serial.pm +++ b/lib/RFID/Biblio/Reader/Serial.pm @@ -23,9 +23,7 @@ sub new { my $self = {@_}; bless $self, $class; - $self->port; - - $self->init && return $self; + $self->port && $self->init && return $self; } @@ -49,12 +47,15 @@ sub port { return; } - $self->{port} = Device::SerialPort->new( $settings->{device} ) - || die "can't open serial port: $!\n"; - - $self->{port}->$_( $settings->{$_} ) - foreach ( qw/handshake baudrate databits parity stopbits/ ); + if ( $self->{port} = Device::SerialPort->new( $settings->{device} ) ) { + $self->{port}->$_( $settings->{$_} ) + foreach ( qw/handshake baudrate databits parity stopbits/ ); + } else { + warn "can't open serial port: $!\n"; + $self->{port} = 0; + } + $self->{port}; } 1 -- 2.20.1