Returns a lowercased version of EXPR. This is the internal function implementing the\L escape in double-quoted strings.
If EXPR is omitted, uses$_.
What gets returned depends on several factors:
use bytes is in effect:The results follow ASCII rules. Only the charactersA-Z change, toa-z respectively.
use locale (but notuse locale ':not_characters') is in effect:Respects current LC_CTYPE locale for code points < 256; and uses Unicode rules for the remaining code points (this last can only happen if the UTF8 flag is also set). Seeperllocale.
Starting in v5.20, Perl wil use full Unicode rules if the locale is UTF-8. Otherwise, there is a deficiency in this scheme, which is that case changes that cross the 255/256 boundary are not well-defined. For example, the lower case of LATIN CAPITAL LETTER SHARP S (U+1E9E) in Unicode rules is U+00DF (on ASCII platforms). But underuse locale (prior to v5.20 or not a UTF-8 locale), the lower case of U+1E9E is itself, because 0xDF may not be LATIN SMALL LETTER SHARP S in the current locale, and Perl has no way of knowing if that character even exists in the locale, much less what code point it is. Perl returns the input character unchanged, for all instances (and there aren't many) where the 255/256 boundary would otherwise be crossed.
Unicode rules are used for the case change.
use feature 'unicode_strings' oruse locale ':not_characters' is in effect:Unicode rules are used for the case change.
ASCII rules are used for the case change. The lowercase of any character outside the ASCII range is the character itself.
Perldoc Browser is maintained by Dan Book (DBOOK). Please contact him via theGitHub issue tracker oremail regarding any issues with the site itself, search, or rendering of documentation.
The Perl documentation is maintained by the Perl 5 Porters in the development of Perl. Please contact them via thePerl issue tracker, themailing list, orIRC to report any issues with the contents or format of the documentation.