]]> ]]>

CamelCase в Perl

Пример для версий Perl 5.12.1

Первая строка читает строку для обработки. Вторая — заменяет все не-буквы на пробелы; для этого используется операция замены регулярных выражений 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

]]>

Работа программистам