置換演算子 s///
を使用した文字列の置換時に、置換文字列(後ろの文字列)の中に \u
エスケープを置くと、その直後の 1 文字を大文字に変換することができます。
$_ = 'aaaAAA bbbBBB cccCCC';
s/(\S+)/\u$1/g; # 'AaaAAA BbbBBB CccCCC'
置換文字列の中に \L
エスケープを置くと、その後ろに続くすべての文字を小文字に変換することができます。
\L
と \u
を組み合わせて使用すると、単語の先頭の文字だけ大文字にするといったことができます。
$_ = 'aaaAAA bbbBBB cccCCC';
s/(\S+)/\u\L$1/g; # 'Aaaaaa Bbbbbb Cccccc'
大文字、小文字を操作するためのエスケープ文字には以下のようなものがあります。
/U
– その後の文字をすべて大文字にする/L
– その後の文字をすべて小文字にする/E
– 上記の変換をここまでで止める/u
– 次の 1 文字だけ大文字にする/l
– 次の 1 文字だけ小文字にする実はこれらのエスケープ文字は、ダブルクォート文字列の中ならいつでも使用できます。
my $name = 'michael';
print "Hi, \u\L$name\E!\n";