CamelCase в Perl
Первая строка читает строку для обработки. Вторая — заменяет все не-буквы на пробелы; для этого используется операция замены регулярных выражений c опцией g
, которая ищет все соответствия паттерну в строке. Третья строка переводит в верхний регистр первую букву каждого слова и в нижний — следующие буквы. Паттерн \b(\w+)\b
соответствует максимальному одиночному слову (окруженному со всех сторон пробелами). Переменная $1
в выражении замены содержит слово, соответствующее паттерну. Выражение замены ucfirst($1)
в сочетании с опцией /e
заменяет слово на результат вычисления этой функции от него (/e
активирует интерполяцию переменных в строке). Наконец, четвертая строка удаляет все пробелы из строки.
Во всех действиях с регулярными выражениями используется оператор привязки =~
, который позволяет применять их к произвольной переменной, а не к переменной по умолчанию $_
.
$A = <>;
$A =~ s/[^a-zA-Z]+/ /g;
$A =~ s/\b(\w+)\b/ucfirst($1)/ge;
$A =~ s/[ ]+//g;
print $A;
Комментарии
]]>blog comments powered by Disqus
]]>