Языки скриптов AWK и PERL
Чтобы завершить наши упражнения, мы написали программу еще и на двух популярных языках скриптов – Awk и Perl. В них есть возможности, необходимые для нашего приложения, – ассоциативные массивы и методы обработки строк.
Ассоциативный массив (associative array) – это подходящий контейнер для кэш-таблицы; он выглядит как простой массив, но его индексами являются произвольные строки, или числа, или наборы таких элементов, разделенных запятыми. Это разновидность отображения данных одного типа в данные другого типа. В Awk все массивы являются ассоциативными; в Perl есть как массивы, индексируемые стандартным образом, целочисленными индексами, так и ассоциативные массивы, которые называются "хэшами" (hashes), – из их названия сразу становится ясен способ их внутренней реализации.
Предлагаемые версии на Awk и Perl рассчитаны только на работу с префиксами длиной в два слова.
Awk – язык, функционирующий по принципу "образец-действие": входной поток читается по строке за раз, каждая строка сравнивается с образцом, для каждого совпадения выполняется соответствующее действие. Существуют два специальных образца – BEGIN и END, которые вызываются, соответственно, перед первой строкой ввода и после последней.
Действие – это блок выражений, заключенный в фигурные скобки. В Awk-версии в блоке BEGIN инициализируется префикс и пара других переменных.