diff options
Diffstat (limited to 'ext/re/re.pm')
-rw-r--r-- | ext/re/re.pm | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/ext/re/re.pm b/ext/re/re.pm index 850b948d34..0193e6a425 100644 --- a/ext/re/re.pm +++ b/ext/re/re.pm @@ -147,12 +147,20 @@ sub bits { for(split//, $s) { if (/[adul]/) { if ($on) { - if ($seen_charset && $seen_charset ne $_) { + if ($seen_charset) { require Carp; - Carp::carp( - qq 'The "$seen_charset" and "$_" flags ' - .qq 'are exclusive' - ); + if ($seen_charset ne $_) { + Carp::carp( + qq 'The "$seen_charset" and "$_" flags ' + .qq 'are exclusive' + ); + } + else { + Carp::carp( + qq 'The "$seen_charset" flag may not appear ' + .qq 'twice' + ); + } } $^H{reflags_charset} = $reflags{$_}; $seen_charset = $_; |