Perl и NLP
Perl — это язык программирования, который исторически использовался для обработки текста, и благодаря своей гибкости и мощным инструментам для работы со строками, он продолжает оставаться полезным в задачах обработки естественного языка (NLP). Perl идеально подходит для написания скриптов и автоматизации небольших, но важных задач анализа текста. Perl для Стилометрии Стилометрия фокусируется на анализе текстов для […]
Регулярные выражения Perl
Регулярные выражения (шаблоны). В данной главе описывается синтаксис регулярных выражений. Чаще всего в Perl они используются в операторах поиска и замены таких как s//, m/, операторах связки =~ или != и т.д. Как правило все эти операторы имеют схожие опции такие как: i — не различать строчные и заглавные буквы. m — считать строку многострочной. s — однострочная строка. x — […]
use strict
Как мы объявляли переменные? #/usr/bin/perl $alpha = 1; $beta = 2; # … $alpha = $alpha + $beta; # alpha равно 3 Однако что произойдет, если мы случайно сделаем опечатку в имени одной из переменных? # опечатка в имени переменной — bAta вместо bEta $alpha = $alpha + $bata; # alpha равно 1 Программист допускает подобные ошибки довольно часто — чаще, чем думают многие. При этом, из-за […]
Условные операторы Perl
Начнем сразу с примеров. $a = shift; if($a > 10) { print «a > 10\n«; } В отличие от Си, опустить фигурные скобки тут нельзя. Точнее говоря, способ есть, но о нем чуть ниже. Конструкции if-else и if-else-if-… на языке Perl выглядят следующим образом: $a = shift; if($a > 10) { print «a > 10\n«; […]
Первый скрипт на Perl
Давайте напишем наш первый скрипт на Perl! #!/usr/bin/perl $name = shift(); print(«Hello, $name!\n«); Запускаем скрипт: $ chmod u+x 1.pl $ ./1.pl afiskon Hello, afiskon! Тут все очень просто: Имена скалярных переменных (то есть не массивов и не хэшей, что это такое — см ниже) начинаются со знака доллара. Функция shift возвращает очередной аргумент скрипта. Другими […]
Основы Perl — ввод/вывод, файлы, каталоги
Ввод и вывод Как всегда, давайте начнем с примера: #!/usr/bin/perl use strict;while(my $line = <STDIN>) { chomp($line); # отсекаем символ \n last if($line eq «exit»); print «Вы ввели ‘$line’. Для выхода из цикла введите exit\n»; } Рассмотрим четвертую строку. STDIN — это файловый дескриптор, связанный со стандартным потоком ввода. Чтение из файла производится с помощью оператора «треугольные скобки». Да, это не так привычно, как readln, […]