Умберто Эко

Как вам такой перл?

Вы когда-нибудь задумывались над тем, что может быть, на основе строки "The quick brown fox jumps over the lazy dog" можно создать настолько элегантную программу на языке программирования Perl, что она станет практически произведением искусства? Если нет, то сегодня узнаете, что такое Perl и как выглядит такой "прекрасный" код.

Что такое Perl?

Perl - это высокоуровневый, интерпретируемый язык программирования, созданный Ларри Уоллом в 1987 году. Он является очень популярным среди веб-разработчиков, потому что у него есть много встроенных функций для работы с текстом, а также поддержка регулярных выражений.

Пример "красивого" кода на Perl

Вот пример кода на Perl, который можно получить из фразы "The quick brown fox jumps over the lazy dog".

$_.=lc for'The quick brown fox jumps over the lazy dog'=~/./g;  # Сделать строку нижнего регистра
s/[^a-z]//g,$t{$_}++for split//,$_;                           # Убрать все символы, не являющиеся буквами, и создать хэш токенов
@{[map$_->[1],sort{$b->[0]<=>$a->[0]}map[$t{$_},$_],keys%t]}  # Сортировка хэша токенов по частоте использования

Кажется, что этот код написан на каком-то постороннем языке, но на самом деле он выполняет следующие действия:

  1. Делает строку нижнего регистра.
  2. Удаляет все символы, не являющиеся буквами, и создает хэш токенов.
  3. Сортирует хэш токенов по частоте использования.

Это заметно короче, чем менее "красивый" код на других языках, например на Python:

from collections import Counter

s = "The quick brown fox jumps over the lazy dog"
tokens = Counter(filter(str.isalpha, s.lower())).most_common()

Заключение

Мы рассмотрели язык программирования Perl и привели на примере задачи на строках его краткий и "красивый" код. Конечно же, понимание такого кода требует определенных знаний этого языка, но в целом он довольно элегантный и понятный. Если вам интересно успеть научиться этому языку, то он может быть отличным выбором для вас.