Perlで大文字/小文字の置換
uc/lc
全て大文字/小文字にする。
$ perl -e 'print uc "Goatex\n"' GOATEX $ perl -e 'print lc "I Love U\n"' i love u
ucfirst/lcfirst
先頭一字だけ大文字/小文字にする。
$ perl -e 'print ucfirst "doraemon\n"' Doraemon $ perl -e 'print lcfirst "MELON\n"' mELON
正規表現(\U, \L, \u, \l)で置換する
\Uは後ろに続くものを大文字にする。
\Lは後ろに続くものを小文字にする。
\uは後ろに続くものを先頭一字だけ大文字にする。
\lは後ろに続くものを先頭一字だけ小文字にする。
my $string = 'hoge fuga piyo'; $string =~ s/(\w+)/\u$1/; # Hoge Fuga Piyo $string =~ s/(\w+)/\U$1/; # HOGE FUGA PIYO $string =~ s/(\w+)/\l$1/; # hOGE fUGA pIYO $string =~ s/(\w+)/\L$1/; # hoge fuga piyo
応用編: CamelCase, snake_case の変換
my $camel_string = 'CamelString'; $camel_string =~ s/^([A-Z])/\l$1/; $camel_string =~ s/([A-Z])/_\l$1/g; print "$camel_string\n"; # camel_string my $snake_string = 'snake_string'; $snake_string =~ s/_([a-z])/\u$1/g; $snake_string =~ s/^([a-z])/\u$1/; print "$snake_string\n"; # SnakeString