This is probably the reason why many of us say "don't use threads for this task".
Even though you admit to having made little (no?) use of threads?
If you encountered a bug in a regex, that allowed the regex to work but causes a warning during global destruction, would you advocate the replacement of all regexes using character by character comparisons and huge if/else cascades?
Eg. You'd advocate if( $string =~ m[C\d\[A-Q]] ) { with
my $currentChar = substr( $string, $n, 1 );
if( $currentChar eq 'C' ) {
$currentChar = substr( $string, ++$n, 1 );
if( $currentChar eq '1' ) {
$currentChar = substr( $string, ++$n, 1 );
if( $currentChar eq 'A' ) {
...
...
...
...
elsif( $currentChar eq 'B'
...
...
...
...
}
elsif( $currentChar eq '2' ) {
...
...
...
...
}
elsif( $currentChar eq '3' ) {
...
...
...
...
}
elsif( $currentChar eq '4' ) {
...
...
...
...
}
elsif( $currentChar eq '5' ) {
...
...
...
...
}
elsif( $currentChar eq '6' ) {
...
...
...
...
}
elsif( $currentChar eq '7' ) {
...
...
...
...
}
elsif( $currentChar eq '8' ) {
...
...
...
...
}
elsif( $currentChar eq '9' ) {
...
...
...
...
}
else {
die "The second char was not in range '1' thru '9';
}
}
else {
die "The first character didn't match 'C'";
}
Because that is the logical equivalent of your advice!
Or might you suggest working around the problem, and report the error, in the hope that the regex engine would get fixed?
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
|