diff -r a6bc8818d069 -r 6acf8ea44e0a lib/Quancom/Result.pm --- a/lib/Quancom/Result.pm Tue Jan 06 15:07:03 2009 +0100 +++ b/lib/Quancom/Result.pm Tue Jan 06 22:33:39 2009 +0100 @@ -59,11 +59,13 @@ sub error_message { my $self = shift; + my $e = @_ ? shift : $self->{error_code}; return undef if !@_ and $self->{ok}; + return "unknown error" if not defined $e or $e > 3; return +("checksum error", "character error", "invalid command", - "invalid width")[ defined $_[0] ? $_[0] : $self->{error_code} ]; + "invalid width")[$e]; } 1;