I have a module in which I want to use locale or use utf8 depending on a condition. Something like:
if( $locale) { use locale; } elsif( $utf8 and $perl_version_ok) { use utf8; } if( $word=~ /^\w+$/) { ... }
Obviously the way \w matches is impacted by the locale/utf8 setting.
My problem is that use locale/utf8 is scoped to the enclosing block, hence the use pragma will not be in scope outside of the if block and \w will just match [a-zA-Z]. How could I get it to match what I want?
In addition I would need to have the locale/utf8 active in most of the module, so it might be difficult to find an enclosing block. This means also that I can't put the statements affected by the pragma in the block. This is not possible:
if( $locale) { use locale; if( $word=~ /^\w+$/) { ... } } elsif( $utf8 and $perl_version_ok) { use utf8; if( $word=~ /^\w+$/) { ... } }
In reply to use locale/utf8 scoping by mirod
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |