最初の文字が大文字ならそれを小文字に変換する
lcfirst は、文字列 EXPR の最初の文字が大文字なら小文字に変換して、それを返します。
EXPR が指定されなければ $_ が適用されます。
my $str = q(HELLO);
print lcfirst $str; # hELLO
lcfirst はデフォルトでは EXPR の最初の文字が A-Z なら a-z に変換します。
ただし、UTF-8 モードが有効な環境下では、小文字への変換の対象が広がります。
たとえば、アクサンテギュが付いた文字も小文字に変換することができます。
use utf8;
binmode STDOUT, ":utf8";
my $str = q(Éphémère);
print lcfirst $str; # éphémère
このように、UTF-8 フラグが有効な環境下では、 Unicode 仕様に基づいた小文字変換が行われます。 Ⓐ という文字ですら ⓐ に変換されます。