my $p = verbose() ? __PACKAGE__ . "::to_int(): " : "";
return undef unless defined $val;
- print $p . "aufgerufen mit '" . $val . "'.\n" if verbose() > 5;
+ print $p . "aufgerufen mit '" . $val . "' (" . ($signed ? 'mit' : 'ohne'). " Vorzeichen) .\n" if verbose() > 5;
unless ( $val =~ /\d/ ) {
return undef;
}
if ( $signed ) {
- $val =~ s/.*((-\s*)?\d+).*/$1$2/;
+ $val =~ s/^[^\d-]*(?:(-)\s*)?(\d+)\D?.*?/$1$2/;
} else {
- $val =~ s/.*(\d+).*/$1/;
+ $val =~ s/^\D*(\d+)\D?.*$/$1/;
}
print $p . "Neuer Wert: '" . ( defined($val) ? $val : "<undef>" ) . "'.\n" if verbose() > 5;