my $self = {@_};
bless $self, $class;
- $self->port;
-
- $self->init && return $self;
+ $self->port && $self->init && return $self;
}
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