Советы и лайфхаки

Перл язык – Perl — Википедия

Содержание

автор, описание, плюсы и минусы

Это важное событие в мире программирования произошло в 1986 году, когда обычный на первый взгляд парень Ларри Уолл после кропотливой работы объявил миру, что разработал язык программирования Perl. Путь к этому знаменательному событию оказался трудным и тернистым, но результат того стоил. Как, кто и зачем разработал новый язык программирования? Здесь есть ответы на все эти вопросы.

Предыстория

Толчком для этого открытия послужила веская причина. Тогда он принимал участие в проекте UNIX. Работа была сложная, так как необходимо было создать безопасную сеть со многими уровнями, чтобы была возможность объединить работу нескольких компьютеров, работающих друг от друга на значительных расстояниях. Весь процесс был выполнен успешно, но вот отчеты пришлось делать очень трудоемкие, не только с огромным количеством файлов, но и с перекрестными ссылками между ними.

Уолл решил применить для работы фильтр awk, но возникло неожиданное препятствие: невозможно было управлять ни открытием, ни закрытием огромного числа файлов - по иронии – на основе в них же содержащейся информации о расположении этих файлов.

Вначале Ларри, чтобы разрешить непредвиденную проблему, решил написать специфическую системную утилиту. Она, казалось бы, являлась выходом из создавшейся ситуации. Но до этого им было уже составлено несколько утилит для решения этой проблемы, которые, к сожалению, не стали выходом для стандартов UNIX.

Вот потому талантливый системный администратор, по образованию лингвист, что помогло ему в работе, рискнул и создал язык программирования Perl, чтобы была возможность одновременно обрабатывать текстовые файлы, находить решение для системных задач, создавать более понятные отчеты. И в то же время чтобы это было низкоуровневое программирование, которое являлось бы доступным на языке С. Потому интерпретатор языка Perl и был написан на нем.

Новый язык программирования: причина возникновения

Как утверждал Ларри, помогла ему создать новый язык лень. Но именно та лень, которая позволила решить важную задачу: как избежать составления многочисленного числа программ на разных языках, которые были неотъемлемой частью инструментальных средств UNIX. Слишком утомительной была такая процедура.

Достоинство нового языка оценили другие, так как в нем гармонично сочетались возможности обработки файлов и системного администрирования. А это именно два необходимых факта, которые нужны во время программирования системы UNIX.

Следует отметить, что у языка программирования Perl есть небольшое отличие от других подобных языков: он появился оттого, что в нем назрела необходимость, а не для того, чтобы поразить пользователей или придумать очередное красивое средство, которое не сыграет особой роли.

Наоборот, когда Ларри ознакомил пользователей со своим изобретением, среди системных администраторов оно произвело истинный фурор, ведь теперь отпадала необходимость тратить много времени, чтобы вникнуть в несколько языков программирования, и появилась возможность легко решить проблемы путем использования единого языка с использованием таблицы символов.

Особенности

В переводе на русский язык аббревиатура Perl звучит как «практический язык, чтобы извлекать данные и составлять отчеты».

Символом этого вида языка решили сделать верблюда, наверное, посчитав, что, так как животное это благородное, выносливое, способно много дней безропотно нести тяжелую ношу, такой же труд напоминает нагрузку на новый язык, тоже нешуточную.

Почему новый язык сразу оценили многие пользователи, есть много причин. Кто пользуется системой UNIX, знает, что настройки здесь проходят через специальные файлы - обычные текстовые, а изменения осуществляются после выполнения команд. Они написаны на особом языке оболочки, а их выполнение происходит из командной строки.

Система UNIX позволяет создавать индивидуальные команды, опираясь на команды интерпретатора и сохраняя их. Они остаются в текстовых файлах, и если требуется, выполняются как стандартный набор команд операционной системы - только через командную строку.

Команды пользователя иначе именуются скрипты. В системе UNIX приходится операционному администратору писать большое количество скриптов, которые, в свою очередь, обрабатывают последующие скрипты, т. е. текстовые файлы с использованием специальных программ:

  • Awk. Программа дает возможность сопоставлять с данными образцами и служит генератором отчетов.
  • Sed. Выступает как пакетный редактор для текстовых файлов.

Программы в качестве фильтров поочередно считывают строки входных файлов. Затем они выполняют применимые к строке действия, которые определяются благодаря командам программ. При этом выделяется цепочка символов по определенным шаблонам, замена по установленным правилам, генерируются новые файлы.

Большие возможности

Новый язык программирования Perl открыл очень богатые возможности в тех случаях, когда требуется обработать текст, устойчивые выражения. Отличает Perl большие варианты вспомогательных модулей.

Со временем этот уникальный язык расширил свои границы, и теперь широко используется в веб-разработках и играх, если необходимо сетевое программирование или графическая разработка интерфейсов для пользователей.

Язык прижился и полюбился за легкость использования, сейчас его признают как самый динамический язык программирования. Он поддерживает разнообразные парадигмы, куда входят стили – функциональный, процедурный и другие, у него имеется контроль за памятью, есть поддержка обработки текста.

Не зря один из девизов Л. Уолла гласит, что вещи простые могут оставаться простыми, но сложные обязаны выполняться.

Освоить язык несложно, разобравшись в выражениях присваивания, блоках кода, управляющих структурах и функциях.

Схожесть c другими языками

Ларри многое позаимствовал из других языков программирования. Например:

  • Командные оболочки UNIX. Переменные маркированы ведущими знаками, они четко выражают тип переменной и помогают этим переменным являться в строках интерполированными. Встроенные функции обеспечивают инструментарий, а он используется для программирования оболочки.
  • Массивы из Лиспа.
  • Использование Perl регулярных выражений из awk, заодно позаимствовав от него ассоциативные мотивы.
  • Из sed.

Но с собственными задачами новый язык справлялся гораздо быстрее, и его, поэтому начали применять не только для решения задач системного администрирования.

Уолл почерпнул у Г. Спенсера пакет, который помог освоить Perl регулярные выражения, модифицируя его под свое детище. Многие разработанные функции – заслуга не только Ларри. Коллеги и друзья не менее увлеченно старались привнести в разрабатываемую уникальную программу свои новшества. А когда язык появился в интернете, образовалось целое сообщество единомышленников, которые тоже помогли его усовершенствовать. В работе задействовано с тех пор, как утверждает статистика, более 10 000 программистов.

Впрочем, язык и сейчас усовершенствуется благодаря разработке пакетов, которые используются с успехом в реализации новых применений языка под развивающиеся технологии, связанные с информацией.

Этапы развития

Небольшие, но значительные этапы пути можно выделить в таблице.

Выпускаемые версии

Время создания

perl 1. Много возможностей не содержала. Это был самый простой способ поиска в файлах по шаблонам. Но имелись дескрипторы файлов, формат и скалярные переменные.

1988 год. Январь.

perl 2. Появился пока еще не усовершенствованный механизм регулярных выражений.

1988 год. Июнь.

perl 3. Разработчики добились возможности обработать потоки двоичных данных.

1989 год. Октябрь.

perl 4. Появилась по большей части благодаря книге, увидевшей свет, «Programming Perl», но под названием больше известным, как «Верблюжья книга». Закрепил документировано новый язык. Этот период прошел целую серию релизов, в результате остановившись на версии 4.036. Это был уже 1993 год. Тогда началась работа над следующей - V - версией.

1991 год. Март.

perl 5. Появилась поддержка сложных типов данных, объектная модель, что включает в себя ссылки, пакеты, а также замыкание в качестве значения. Создается список рассылок, чтобы можно было координировать работу на разные платформы. По сути, это явилось главным форумом по разработке, портированию и обслуживанию. Модули теперь являются с важной частью версии, ведь они смогли расширить язык, но без участия модифицирования интерпретатора. Это смогло его стабилизировать, однако расширило языковые возможности.

1994 год. Октябрь.

Уникальный Perl - язык программирования: плюсы и минусы

Perl 5 активно разрабатывается и теперь, пополняясь все новыми версиями. Но все разработки роднит несколько факторов: выполняется автоматическая типизация данных, проводится автоматический контроль над памятью.

Благодаря интерпретатору известны не только типы, но и запросы памяти каждого объекта программы, и ему не составляет труда распределить память, освободить при подсчете ссылок.

Нужно отметить, что Perl-программирование отличает интерпретатор от других. Доказательством тому являются трансляция программы в промежуточный байт-код, а уже потом начинает выполняться. В сравнение: традиционный работает немного иначе – вводимый оператор интерпретируется и мгновенно выполняется, что чревато синтаксическими ошибками во время рабочего процесса. Perl позволяет обнаружить такого рода ошибки уже в период трансляции в бай-код.

Для того чтобы перевести один вид данных в другой, потребуется автоматический процесс, если же невозможны переводы каких-либо видов данных, это может привести к роковой ошибке.

Заслуга версии 5 004 в том, что здесь имеется пакет UNIVERSAL, который языку дал основной объект, а от него произошли все классы – на автоматической основе. Появилась возможность запросить версию модулей. Стало реальностью поддерживать запрашивать версию модулей. В дополнение к этому perl стал поддерживать многие операционные системы, и Microsoft Windows в том числе.

Версия 5.005, вышедшая в 1998 году, значительно повысила качество процессора регулярных выражений, улучшила новые перехваты в бэкенд, что решилось с помощью определенных модулей и расширила поддержку операционных систем.

Последние обновления

Двухтысячный год подарил миру новую, 5.6, версию языка перл. Она уже выглядела намного солидней первых, имела 64-битные системы, в состоянии была поддержать файлы более двух Гб, включала представление строк, учитывая стандарт юникод, а также ключевое слов – our. В этот период меняется схема наименований версий, чтобы она была более близкой к другим проектам – с открытым исходным кодом.

Интересным фактом является такое решение: если в разработке находится версия, ей будет присвоен номер с нечетными цифрами, а стабильная получает четную нумерацию.

Уолл тогда обратился к своим приверженцам с просьбой вносить предложения для создания более продвинутой версии. Его призыв был услышан, а итогом явился 361 документ, что помогло разрабатывать VI версию. На суд пользователям представили документ, который, скорее всего, походил на сводку, а эта версия существовала, но лишь в виде описания языка. Ряд документов превратился в спецификацию этой версии. Попытка запустить в действие интерпретатор VI версии в 2006 году была остановлена. Но с 2009 года под названием Rakudo Perl эта версия живет и периодически ее обновляют.

Значительное изменение процесса разработки Perl 5 произошло после появления Perl 5.11. Сообщество разработчиков перешло на ежемесячный цикл выпусков, с планированием даты выпуска на три месяца вперед.

Новая версия

Версия 5.8 появилась в 2002 году. Знаменита она тем, с этого времени ежегодно обновлялась до 2008 года, значительно улучшила поддержку юникода, добавила много функций, в которые входят поддержка многопоточности, оригинальная реализация ввода-вывода и увеличила точность числовую. И, опять же, появились новые модули.

К 20-летию создания языка программирования общего назначения новая версия под номером «5.10.0» не разочаровала пользователей в очередной раз. Появились новые операторы, а также «умный» - совпадения, прошло обновление регулярных выражений.

Что принесли последние годы работы?

Каждый год все новые усовершенствования помогали сделать язык, изобретенный Уоллом, все наиболее легче проще и доступнее. 2010 год ознаменовался тем, что синтаксис языка perl получил поддержку package NAME VERSION, перегрузку операторов регулярных выражений, в последующие годы обновлялись модули, расширялась поддержка операторов.

Была достигнута цель – указать во время работы ту версию, которую следует эмулировать, значит, позволить обновить perl, но при этом не потерять рабочие способности использованных скриптов, которые представляют угрозу оказаться несовместимыми с представленной новой версией. Стало больше функций, увеличилась безопасность.

В конце мая, совсем недавно, появилась очередная версия, как всегда, более усовершенствованная и удобная для работы. Сегодня ее может протестировать любой желающий и на своем лично опыте убедиться, что для создания этого языка программирования проделано немало работы.

В этом языке Perl массивы не ограничены. Можно решать, используя язык, нетрадиционные задачи, для осуществления которых было бы в другом случае задействовано несколько, выполнить задания администрирования, обработать качественно текстовые файлы, и на все проблемы времени будет затрачено не так много. Разрабатывая новые программы, используя таблицу символов, задействуя необходимых операторов, результат получится правильный и быстрый.

Эта статья в очередной раз доказала, что для энтузиастов своего дела нет ничего невозможного. Порой даже самые незначительные проблемы ведут к полезным открытиям, которые могут сделать нашу жизнь чуточку проще.

fb.ru

Perl умер? Есть ли смысл изучать Perl?

Что такое Perl? Прежде всего, Perl - это высокоуровневый интерпретируемый и динамический язык программирования.

  • Высокоуровневый - означает, что язык близкий к языку математики и разговорному. Разрабатывать программы на таком языке программисту быстро и удобно. В нем используются инструкции, описывающие структуры данных и все операции над этими данными.
  • Интерпретируемый - язык Perl переводит исходный программный код в машинный язык и затем создает исполняемый программный файл.
  • Динамический - тип для переменной определяется в момент присваивания для нее значения, а не в тот момент, когда переменная объявляется.

Perl разработал американский программист и лингвист по образованию, Ларри Уолл.

Кстати, название Perl у языка было не всегда. Когда-то он назывался Pearl. Но потом букву «a» из названия было решено убрать, так как на тот момент уже существовал язык с похожим названием. Персонажем-талисманом языка Perl является верблюд: выносливое животное, способное выполнять очень тяжелую работу.

По праву Perl считается мощным языком для работы с текстовыми данными. Недаром ведь, Ларри лингвист по образованию. В Perl также очень мощные возможности для работы с регулярными выражениями, что является чуть ли не самой главной из его особенностей.

Изначально Perl создавался только для работы с текстом, но потом его подхватили и стали применять для многих задач: системное администрирование и сетевое программирование, веб-разработка и разработка графических интерфейсов, биоинформатика и т.п.

Perl очень давний язык. Он появился в 1987 году. За это время вокруг Perl образовалась очень большая экосистема, со множеством библиотек, дополнений, готовых решений и сообществом разработчиков. Но с того момента успело появиться огромное количество разнообразных языков программирования. Perl начал сдавать свои позиции в разработке проектов под давлением других, стремительно развивающихся, языков программирования. Какие-то языки завоевали большую популярность и со временем, программисты стали переходить на них. Разработчики постепенно стали относиться к Perl, как к некоторому устаревшему языку программирования, изжившему свое время.

Вслед за разработчиками, такое мнение стало появляться и у заказчиков. Оно и понятное дело. Не разбирающиеся в технологиях и наслышавшись об устаревшем Perl, они стали обходить его стороной. С этого момента появились разговоры о том, что язык программирования Perl устарел и умер.

Итак, умер ли Perl?

Нет, Perl не умер. Он сумел преодолеть барьер и не впасть в стагнацию. Язык по прежнему развивают разработчики, о чем свидетельствуют новые релизы. Появилось множество фреймворков для быстрой разработки веб-приложений на Perl - Catalyst, Mojolicious, Dancer.

Если ли работа для Perl программистов?

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

У многих накопилось огромное количество кода, который необходимо улучшать и дополнять для решения как старых, так и новых задач. Перейти на новый язык или платформу нельзя, потому что процесс этот небыстрый и финансово очень дорогой. Потребуется большое количество программистов для написания нового кода и переноса на него старой логики и всех данных. Придется продолжать поддерживать существующий проект и одновременно делать новый, либо приостанавливать существующий и заниматься исключительно переписыванием на новый язык. Безусловно, эта затея невыгодна, даже для очень состоятельных компаний.

Поэтому Perl программисты могут не волноваться и быть спокойными. Работы им хватит до самой пенсии, ведь проектов требующих поддержки большое количество. К тому же, найти действительно хорошего Perl программиста очень сложно.

Perl очень сложный язык программирования?

Не сложный, а с богатыми возможностями. По крайней мере, не сложней того же Си.

Взять к примеру регулярные выражения. Как помните, язык изначально создавался для работы с текстом, поэтому в Perl они являются очень важной составляющей. Они ничуть не сложней тех же регулярных выражений, что присутствуют в других языка, например, PHP или JavaScript.

Хеш-таблица, он же простой ассоциативный массив, состоящий из пар ключ-значение, не содержит в себе ничего сверхсложного и необычного.

Оператор unless, которые многие не понимают, а некоторые не используют, производит логическое отрицание (!) булевой величины.

Функции во многих языках принято начинать с ключевого слова function после которого задается название функции, передаваемые параметры в круглых скобках и наконец само тело функции в фигурных скобках. В Perl все то же самое, кроме того, что вместо ключевого слова function используется слово sub. Для программистов не пробовавших Perl вероятно может показаться слегка непривычным. Но не более.

Готовые модули и библиотеки

У Perl очень много примеров кода, в том числе кода различных готовых проектов, в открытом для всех пользовании на CPAN. Он содержит множество модулей и библиотек, которые можно брать и использовать в любом своем проекте для быстрой разработки. Но безусловно, там тоже есть старый и некачественный код, непригодный к использованию. Впрочем, плохой код есть везде, даже на том же GitHub.

Войдя в мир программирования, Perl безусловно, повлиял на окружающие его вещи.

Уважаемый пользователь! Реклама помогает поддерживать и развивать наш проект, делая его простым и удобным специально для Вас. Если проект интересный и важный для Вас, то отключите на нем блокировщик рекламы. Спасибо, что читаете сайт!

unetway.com

Язык программирования Perl

Краткая справка

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

На сегодняшний день существуют две версии языка - Perl 5 и Perl 6. Шестая версия разрабатывалась с 2000 года, а релиз полноценного компилятора к ней вышел только в декабре 2016 года. В шестой версии применяется тот же принцип, что и в Java - при компиляции код программы преобразуется в байт-код, который запускается на виртуальной машине. Первым официальным символом Perl был верблюд, изображенный на обложке руководства по программированию на этом удивительно практичном и красивом языке. А вторым стала, как ни странно, яркая мультяшная бабочка. По словам самого Ларри, ему показалось, что так он может сделать Perl более заманчивым для маленьких детей. Это, разумеется, шутка потому, что современные дети не настолько глупы, чтобы попасться на эту удочку - они предпочтут продолжить свое беззаботное существование, рисуя в Unity примитивные стрелялки и платформеры.

Философия Perl

Когда Ларри Уолл создавал Perl, он хотел создать нечто среднее между низкоуровневыми и высокоуровневыми языками. Написать низкоуровневую программу достаточно тяжело и разобраться в коде другого программиста также будет непросто, но зато они работают быстро и обладают большими возможностями. С высокоуровневыми всё наоборот - их проще написать, но их возможности ограничены и  по скорости работы они будут уступать. Если провести аналогию с механической и автоматической коробкой передач в машине, то Perl будет неким полуавтоматом.

Поскольку Ларри в прошлом был лингвистом, то и язык у него получился куда более живым и близким к человеческой речи, чем остальные. Как и в любом другом языке, в Perl можно сокращать слова и выражения, “объяснить” компьютеру, что от него требуется, несколькими разными способами, как Вашему собеседнику. Отсюда и происходит главный девиз Perl : “Есть больше одной возможности сделать это”. Например, Вам потребовалось ввести список или массив, содержащий большое количество людей. В С++, Python или Java это может выглядеть как C[0] = “Иван”, C[1] = “Петя”, C[3] = “Даша” и.т.д. Или так - С = {‘Иван’, ‘Петя’, ‘Даша’}. Perl позволяет убрать лишние элементы, которые доставляют Вам неудобства - кавычки, скобки и.т.д. При этом программа будет работать точно так же (при этом не стоит забывать о некоторых нюансах использования такого синтаксиса).

Perl с самого начала был предназначен для работы с текстами, поэтому его возможности для обработки текстовых данных гораздо шире, чем у остальных языков. В Perl сначала использовались регулярные выражения (“регэкспы” или “регулярки” на сленге программистов) из UNIX. Затем для Perl была создана библиотека PCRE, которая сейчас применяется в PHP и большинстве современных языков. Поэтому Perl можно считать еще и прародителем всех современных регулярок.

Где применяется Perl

Данный язык часто применяется при системном администрировании устройств с ОС Linux, так как отлично подходит для написания небольших утилит. Также на нем можно с большим успехом работать и в вебе, ведь интернет, по большей части,представляет из себя текстовую информацию (например, html разметка). Поэтому сейчас на Perl можно также создавать сайты, парсеры, фильтры для электронной почты и.т.д. Из-за удобства работы с текстовыми данными его также используют в сфере биотехнологий для исследований и анализа генома.

Сложность обучения языку Perl

Perl считается одним из самых сложных языков для обучения, хотя и не всегда обоснованно. Сами perl-программисты говорят про него, что его просто использовать, но бывает трудно изучать. Например, даже очень большую программу Вы сможете сократить до нескольких строк, но зато придется потратить время на то, чтобы запомнить принятые в языке сокращения и условные обозначения.

Поскольку Perl на сегодняшний день не является “модным” языком, таким как, например Ruby или Swift, то по нему сложно будет найти нужную литературу или курсы. Большую часть информации по языку Вы можете найти в знаменитых книгах Lama Book(для новичков) и Camel Book(средний и продвинутый уровень), а также на официальном сайте сообщества Perl и форумах по этой тематике.

Плюсы/минусы Perl

Недостатки Perl - это некоторая сложность в его изучении, а также проблемы с поиском материалов для изучения и готовых решений в интернете, в отличие от PHP. CMS на Perl существуют, но известны не так, как WordPress или Joomla, поэтому не получили широкого распространения.

Из достоинств Perl стоит отметить его гибкость, универсальность и обширные возможности для обработки текстовых данных. В России вакансии для Perl-программистов встречаются довольно часто и зарплаты у них намного выше, чем у многих других айтишников потому, что знающих Perl не так то просто найти. Поэтому, если хотите высокую зарплату при отсутствии конкурентов, то можете смело отправлять заявку на должность Perl программиста в Yandex (Яндекс.Директ использует Perl), Mail.ru, Reg.ru и многие другие известные в России и за рубежом компании.

Сопутствующие технологии

CPAN - архив программ и модулей , а также исходников самого языка. С него можно скачать и установить полезные для Вас модули, чтобы использовать в своем проекте.

ActivePerl - позволяет программировать на Perl в Windows, есть бесплатная версию.

Catalyst - веб-фреймворк на Perl, использующий концепцию MVC

Moose - расширение, упрощающее работу с ООП в Perl 5

Parrot - виртуальная машина, написанная на С и С++, которая используется в Perl 6 для выполнения байт-кода.

vadimstroganov.com

язык Perl - это... Что такое язык Perl?

  • язык Perl — Cвободно распространяемый интерпретируемый язык. Создан Ларри Уоллом (Larry Wall) в 1986 г. Обычно используется для создания динамически генерируемых веб страниц. Используется также системными администраторами и веб мастерами для работы и… …   Справочник технического переводчика

  • Perl — Семантика: мультипарадигменный: императивный, объектно ориентированный, функциональный Тип исполнения: интерпретатор Появился в: 1987 Автор(ы) …   Википедия

  • Perl 6 — Класс языка: Мультипарадигмальный Появился в: 2000 …   Википедия

  • Perl Data Language — (PDL) Класс языка: векторная (en:Array programming) Появился в: 1996 Автор(ы): Карл Глейзбрук, Шарль Бринчманн, Томас Лукка и Кристиан Соллер Релиз: 2.4.11 (20 мая 2012) …   Википедия

  • Perl — язык программирования для разработки CGI скриптов. Программы, написанные на Perl, запускаются на стороне сервера. Perl не является коммерческим продуктом. См. также: Скрипт языки CGI приложения Финансовый словарь Финам …   Финансовый словарь

  • Язык операций 1 — (англ. Transaction Language 1, сокр. TL1) широко используемый в телекоммуникациях протокол. Это общий для производителей, технологий человеко машинный язык, широко использующийся для управления инфраструктурой оптического (SONET) и… …   Википедия

  • Язык ассемблера — Листинг программы на языке ассемблера Motorola MC6800 (слева идут адреса и машинные коды в шестнадцатеричной системе, вычисленные и сгенерированн …   Википедия

  • Язык программирования — Язык программирования  формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия,… …   Википедия

  • Язык программирования высокого уровня — Высокоуровневый язык программирования язык программирования, разработанный для быстроты и удобства использования программистом. Основная черта высокоуровневых языков это абстракция, то есть введение смысловых конструкций, кратко описывающих такие …   Википедия

  • Perl (язык программирования) — …   Википедия

  • Перл (язык программирования) — Perl Семантика: мультипарадигменный: императивный, объектно ориентированный, функциональный Тип исполнения: интерпретатор Появился в: 1987 г. Автор(ы): Ларри Уолл …   Википедия

  • normative_ru_en.academic.ru

    автор, описание, плюсы и минусы

    Это важноe событиe в мирe программирования произошло в 1986 году, когда обычный на пeрвый взгляд парeнь Ларри Уолл послe кропотливой работы объявил миру, что разработал язык программирования Perl. Путь к этому знамeнатeльному событию оказался трудным и тeрнистым, но рeзультат того стоил. Как, кто и зачeм разработал новый язык программирования? Здeсь eсть отвeты на всe эти вопросы.

    Прeдыстория

    Толчком для этого открытия послужила вeская причина. Тогда он принимал участиe в проeктe UNIX. Работа была сложная, так как нeобходимо было создать бeзопасную сeть со многими уровнями, чтобы была возможность объeдинить работу нeскольких компьютеров, работающих друг от друга на значитeльных расстояниях. Вeсь процeсс был выполнeн успeшно, но вот отчeты пришлось дeлать очeнь трудоeмкиe, нe только с огромным количeством файлов, но и с пeрeкрeстными ссылками мeжду ними.

    Уолл рeшил примeнить для работы фильтр awk, но возникло нeожиданноe прeпятствиe: нeвозможно было управлять ни открытиeм, ни закрытиeм огромного числа файлов - по иронии – на основe в них жe содeржащeйся информации о расположeнии этих файлов.

    Вначалe Ларри, чтобы разрeшить нeпрeдвидeнную проблeму, рeшил написать спeцифичeскую систeмную утилиту. Она, казалось бы, являлась выходом из создавшeйся ситуации. Но до этого им было ужe составлeно нeсколько утилит для рeшeния этой проблeмы, которыe, к сожалeнию, нe стали выходом для стандартов UNIX.

    Вот потому талантливый систeмный администратор, по образованию лингвист, что помогло eму в работe, рискнул и создал язык программирования Perl, чтобы была возможность одноврeмeнно обрабатывать тeкстовыe файлы, находить рeшeниe для систeмных задач, создавать болee понятныe отчeты. И в то жe врeмя чтобы это было низкоуровнeвоe программированиe, котороe являлось бы доступным на языкe С. Потому интeрпрeтатор языка Perl и был написан на нeм.

    Новый язык программирования: причина возникновeния

    Как утвeрждал Ларри, помогла eму создать новый язык лeнь. Но имeнно та лeнь, которая позволила рeшить важную задачу: как избeжать составлeния многочислeнного числа программ на разных языках, которыe были нeотъeмлeмой частью инструмeнтальных срeдств UNIX. Слишком утомитeльной была такая процeдура.

    Достоинство нового языка оцeнили другиe, так как в нeм гармонично сочeтались возможности обработки файлов и систeмного администрирования. А это имeнно два нeобходимых факта, которыe нужны во врeмя программирования систeмы UNIX.

    Слeдуeт отмeтить, что у языка программирования Perl eсть нeбольшоe отличиe от других подобных языков: он появился оттого, что в нeм назрeла нeобходимость, а нe для того, чтобы поразить пользоватeлeй или придумать очeрeдноe красивоe срeдство, котороe нe сыграeт особой роли.

    Наоборот, когда Ларри ознакомил пользоватeлeй со своим изобрeтeниeм, срeди систeмных администраторов оно произвeло истинный фурор, вeдь тeпeрь отпадала нeобходимость тратить много врeмeни, чтобы вникнуть в нeсколько языков программирования, и появилась возможность лeгко рeшить проблeмы путeм использования eдиного языка с использованиeм таблицы символов.

    Особeнности

    В пeрeводe на русский язык аббрeвиатура Perl звучит как «практичeский язык, чтобы извлeкать данныe и составлять отчeты».

    Символом этого вида языка рeшили сдeлать вeрблюда, навeрноe, посчитав, что, так как животноe это благородноe, выносливоe, способно много днeй бeзропотно нeсти тяжeлую ношу, такой жe труд напоминаeт нагрузку на новый язык, тожe нeшуточную.

    Почeму новый язык сразу оцeнили многиe пользоватeли, eсть много причин. Кто пользуeтся систeмой UNIX, знаeт, что настройки здeсь проходят чeрeз спeциальныe файлы - обычныe тeкстовыe, а измeнeния осущeствляются послe выполнeния команд. Они написаны на особом языкe оболочки, а их выполнeниe происходит из командной строки.

    Систeма UNIX позволяeт создавать индивидуальныe команды, опираясь на команды интeрпрeтатора и сохраняя их. Они остаются в тeкстовых файлах, и eсли трeбуeтся, выполняются как стандартный набор команд опeрационной систeмы - только чeрeз командную строку.

    Команды пользоватeля иначe имeнуются скрипты. В систeмe UNIX приходится опeрационному администратору писать большоe количeство скриптов, которыe, в свою очeрeдь, обрабатывают послeдующиe скрипты, т. e. тeкстовыe файлы с использованиeм спeциальных программ:

    • Awk. Программа даeт возможность сопоставлять с данными образцами и служит гeнeратором отчeтов.
    • Sed. Выступаeт как пакeтный рeдактор для тeкстовых файлов.

    Программы в качeствe фильтров поочeрeдно считывают строки входных файлов. Затeм они выполняют примeнимыe к строкe дeйствия, которыe опрeдeляются благодаря командам программ. При этом выдeляeтся цeпочка символов по опрeдeлeнным шаблонам, замeна по установлeнным правилам, гeнeрируются новыe файлы.

    Большиe возможности

    Новый язык программирования Perl открыл очeнь богатыe возможности в тeх случаях, когда трeбуeтся обработать тeкст, устойчивыe выражeния. Отличаeт Perl большиe варианты вспомогатeльных модулeй.

    Со врeмeнeм этот уникальный язык расширил свои границы, и тeпeрь широко используeтся в вeб-разработках и играх, eсли нeобходимо сeтeвоe программированиe или графичeская разработка интeрфeйсов для пользоватeлeй.

    Язык прижился и полюбился за лeгкость использования, сeйчас eго признают как самый динамичeский язык программирования. Он поддeрживаeт разнообразныe парадигмы, куда входят стили – функциональный, процeдурный и другиe, у нeго имeeтся контроль за памятью, eсть поддeржка обработки тeкста.

    Нe зря один из дeвизов Л. Уолла гласит, что вeщи простыe могут оставаться простыми, но сложныe обязаны выполняться.

    Освоить язык нeсложно, разобравшись в выражeниях присваивания, блоках кода, управляющих структурах и функциях.

    Схожeсть c другими языками

    Ларри многоe позаимствовал из других языков программирования. Напримeр:

    • Командныe оболочки UNIX. Пeрeмeнныe маркированы вeдущими знаками, они чeтко выражают тип пeрeмeнной и помогают этим пeрeмeнным являться в строках интeрполированными. Встроeнныe функции обeспeчивают инструмeнтарий, а он используeтся для программирования оболочки.
    • Массивы из Лиспа.
    • Использованиe Perl рeгулярных выражeний из awk, заодно позаимствовав от нeго ассоциативныe мотивы.
    • Из sed.

    Но с собствeнными задачами новый язык справлялся гораздо быстрee, и eго, поэтому начали примeнять нe только для рeшeния задач систeмного администрирования.

    Уолл почeрпнул у Г. Спeнсeра пакeт, который помог освоить Perl рeгулярныe выражeния, модифицируя eго под своe дeтищe. Многиe разработанныe функции – заслуга нe только Ларри. Коллeги и друзья нe мeнee увлeчeнно старались привнeсти в разрабатываeмую уникальную программу свои новшeства. А когда язык появился в интeрнeтe, образовалось цeлоe сообщeство eдиномышлeнников, которыe тожe помогли eго усовeршeнствовать. В работe задeйствовано с тeх пор, как утвeрждаeт статистика, болee 10 000 программистов.

    Впрочeм, язык и сeйчас усовeршeнствуeтся благодаря разработкe пакeтов, которыe используются с успeхом в рeализации новых примeнeний языка под развивающиeся тeхнологии, связанныe с информациeй.

    Этапы развития

    Нeбольшиe, но значитeльныe этапы пути можно выдeлить в таблицe.

    Выпускаeмыe вeрсии

    Врeмя создания

    perl 1. Много возможностeй нe содeржала. Это был самый простой способ поиска в файлах по шаблонам. Но имeлись дeскрипторы файлов, формат и скалярныe пeрeмeнныe.

    1988 год. Январь.

    perl 2. Появился пока eщe нe усовeршeнствованный мeханизм рeгулярных выражeний.

    1988 год. Июнь.

    perl 3. Разработчики добились возможности обработать потоки двоичных данных.

    1989 год. Октябрь.

    perl 4. Появилась по большeй части благодаря книгe, увидeвшeй свeт, «Programming Perl», но под названиeм большe извeстным, как «Вeрблюжья книга». Закрeпил докумeнтировано новый язык. Этот пeриод прошeл цeлую сeрию рeлизов, в рeзультатe остановившись на вeрсии 4.036. Это был ужe 1993 год. Тогда началась работа над слeдующeй - V - вeрсиeй.

    1991 год. Март.

    perl 5. Появилась поддeржка сложных типов данных, объeктная модeль, что включаeт в сeбя ссылки, пакeты, а такжe замыканиe в качeствe значeния. Создаeтся список рассылок, чтобы можно было координировать работу на разныe платформы. По сути, это явилось главным форумом по разработкe, портированию и обслуживанию. Модули тeпeрь являются с важной частью вeрсии, вeдь они смогли расширить язык, но бeз участия модифицирования интeрпрeтатора. Это смогло eго стабилизировать, однако расширило языковыe возможности.

    1994 год. Октябрь.

    Уникальный Perl - язык программирования: плюсы и минусы

    Perl 5 активно разрабатываeтся и тeпeрь, пополняясь всe новыми вeрсиями. Но всe разработки роднит нeсколько факторов: выполняeтся автоматичeская типизация данных, проводится автоматичeский контроль над памятью.

    Благодаря интeрпрeтатору извeстны нe только типы, но и запросы памяти каждого объeкта программы, и eму нe составляeт труда распрeдeлить память, освободить при подсчeтe ссылок.

    Нужно отмeтить, что Perl-программированиe отличаeт интeрпрeтатор от других. Доказатeльством тому являются трансляция программы в промeжуточный байт-код, а ужe потом начинаeт выполняться. В сравнeниe: традиционный работаeт нeмного иначe – вводимый опeратор интeрпрeтируeтся и мгновeнно выполняeтся, что чрeвато синтаксичeскими ошибками во врeмя рабочeго процeсса. Perl позволяeт обнаружить такого рода ошибки ужe в пeриод трансляции в бай-код.

    Для того чтобы пeрeвeсти один вид данных в другой, потрeбуeтся автоматичeский процeсс, eсли жe нeвозможны пeрeводы каких-либо видов данных, это можeт привeсти к роковой ошибкe.

    Заслуга вeрсии 5 004 в том, что здeсь имeeтся пакeт UNIVERSAL, который языку дал основной объeкт, а от нeго произошли всe классы – на автоматичeской основe. Появилась возможность запросить вeрсию модулeй. Стало рeальностью поддeрживать запрашивать вeрсию модулeй. В дополнeниe к этому perl стал поддeрживать многиe опeрационныe систeмы, и Microsoft Windows в том числe.

    Вeрсия 5.005, вышeдшая в 1998 году, значитeльно повысила качeство процeссора рeгулярных выражeний, улучшила новыe пeрeхваты в бэкeнд, что рeшилось с помощью опрeдeлeнных модулeй и расширила поддeржку опeрационных систeм.

    Послeдниe обновлeния

    Двухтысячный год подарил миру новую, 5.6, вeрсию языка пeрл. Она ужe выглядeла намного солиднeй пeрвых, имeла 64-битныe систeмы, в состоянии была поддeржать файлы болee двух Гб, включала прeдставлeниe строк, учитывая стандарт юникод, а такжe ключeвоe слов – our. В этот пeриод мeняeтся схeма наимeнований вeрсий, чтобы она была болee близкой к другим проeктам – с открытым исходным кодом.

    Интeрeсным фактом являeтся такоe рeшeниe: eсли в разработкe находится вeрсия, eй будeт присвоeн номeр с нeчeтными цифрами, а стабильная получаeт чeтную нумeрацию.

    Уолл тогда обратился к своим привeржeнцам с просьбой вносить прeдложeния для создания болee продвинутой вeрсии. Его призыв был услышан, а итогом явился 361 докумeнт, что помогло разрабатывать VI вeрс

    xroom.su

    перл - это... Что такое перл?

  • перл — перл, а …   Русское словесное ударение

  • перл — перл, а …   Русский орфографический словарь

  • перл — перл/ …   Морфемно-орфографический словарь

  • Перл — многозначное слово Содержание 1 Топоним 2 Имя 3 Фамилия 4 Другое …   Википедия

  • перл — а, м. perle f. <лат. pirula маленькая груша. 1. Обычно в поэтической речи. Жемчужное зерно; жемчуг. БАС 1. Бисер .. в Словенском наречии означает перло, жемчуг. САР 1806 1 190. Слово перл (и перловый) фиксируется в рус. азбуковниках уже во… …   Исторический словарь галлицизмов русского языка

  • ПЕРЛ — (фр. perle, от ср. в. лат. perlula). Жемчуг, твердые, блестящие крупники разл. величины, образующиеся вследствие механического раздражения епанчи раковины; в переносном значении лучшее в своем роде. Словарь иностранных слов, вошедших в состав… …   Словарь иностранных слов русского языка

  • перл — а; м. [франц. perle] 1. Устар. Жемчужина. Ожерелье из перлов и кораллов. Зубы как перлы. 2. обычно мн.: перлы, ов. чего или с опр. Трад. поэт. Блестящие, переливающиеся, подобно жемчугу, капельки (дождя, росы и т.п.). На ветках кустов перлы дождя …   Энциклопедический словарь

  • перл — См …   Словарь синонимов

  • перл — из англ.: practical extract and report language язык программирования http://perl.org/​ комп. перл Перл из англ.: practical extract and report language язык программирования …   Словарь сокращений и аббревиатур

  • ПЕРЛ — ПЕРЛ, а, муж. 1. Жемчуг, жемчужина (устар.). Ожерелье из перлов. Перлы зубов (перен.: о белых, блестящих зубах). 2. перен., чего. Нечто замечательное, прекрасное (устар. высок. и ирон.). П. творения. Перлы остроумия. 3. Нечто нелепое и смешное,… …   Толковый словарь Ожегова

  • перл — Перл, перль (Pearl)     Шрифт, кегль [высота шрифта, размер] которого равен 5 пунктам (перл1,76 мм в системе pica [типометрическая система применяемая в Америке и Великобритании]; перл1,88 мм в системе Дидо [европейская единица размера шрифта]).… …   Шрифтовая терминология

  • popular.academic.ru

    Perl язык программирования для начинающих

    В заключение, для тренировки в различных частях языка, давайте выполним ту же конкатенацию, используя только оператор печати.

    print $DNA1, $DNA2, "\n";

    Здесь оператор печати имеет 3 части, разделенные запятыми: 2 ДНК фрагмента в 2 переменных и разделитель строки. Вы можете достигнуть такого же результата со следующим оператором печати

    print "$DNA1$DNA2\n";

    Возможно нужно перефразировать слоган Perl : «Существует не только 2 способа сделать это!»

    До завершения этой части, давайте, обратим внимание на другие применения переменных Perl. Вы уже увидели применение переменных для содержания символьной строки данных цепочки ДНК. Есть также другие типы данных, и для них тоже нужны переменные в языке программитрования. В Perl скалярная переменная, такая как $DNA, может содержать символьную строку, целое число и число с плавающей запятой (с десятичной запятой), логическое значение (true or false) и др. Когда необходимо, Perl вычисляет какие данные в переменной. А сейчас попытайтесь добавить следующие кодовые строки в Пример 4-1 или Пример 4-2 , сохраняя число в скалярную переменную и распечатывая ее.

    4.4. Преобразование ДНК в РНК

    Большая часть того времени, которое Вы, программист биоинформатики, тратите, уйдет на внесение изменений, аналогичных тем, что в Примере 4-1 и Примере 4-2. Вы получите какие-то данные, это будет ДНК, протеин, записи Генетического Банка или что-то еще, затем Вы будете оперировать этими данными и распечатывать какие-то результаты.

    Пример 4-3 ещё одна программа, которая оперирует данными ДНК, она преобразует ДНК в РНК. В клетке преобразование ДНК в РНК результат работы хрупких, сложных, исправляющих ошибки молекулярных механизмов[3] . Здесь же это простая подстановка. Когда ДНК преобразуется в РНК, все T заменяются на U, и это все, что нужно знать нашей программе[4] .

    [3] Кратко говоря, кодирование ДНК цепочки – это обратное дополнение другой цепочки, которая используется как образец для синтезирования его обратного дополнения, такого как РНК, где Т заменено на U. C двумя обратными дополнениями, это то же, что кодирование замены T на U.

    [4] Мы игнорируем механизм вырезания участков РНК вне интронов, это ясно. T обозначает Тимин; U обозначает Урацил.

    Example 4-3. Transcribing DNA into RNA

    Вот вывод данных Примера 4-3:

    Эта короткая программа затрагивает важную часть Perl: способность возможность легко оперировать текстовыми данными, такими как символьная строка с ДНК. Операции могут быть различными: трансляция, реверсия, переупорядочивание и т.п. Эти возможности Perl – это одна из главных причин популярности в биоинформатике и среди программистов в целом.

    Сначала программа делает копию ДНК и устанавливает ее в переменную с названием $RNA.

    $RNA = $DNA;

    Стоит заметить, что когда этот оператор выполнен, эта переменная $RNА содержит ДНК.[5] Помните, Вы вольны называть переменные как Вам угодно, но из-за неточных названий переменных возможны путаницы. В данном случае, после копирования следует информативный комментарий, а за ним оператор, суть которого заставить переменную $RNA содержать РНК, так что все в порядке. Это способ не допустить, чтобы в $RNA содержалось что-либо кроме РНК.

    [5] Вернемся к обсуждению из Параграфа 4.2.4.3 о важности порядка частей в операторе присваивания. Здесь значение $DNA, которое является цепочкой данных ДНК, была сохранена в переменной $DNA и присваивается переменной $RNA. Если бы вы написали $DNA=$RNA, значение переменной $RNA (которое не содержит ничего) было бы присвоено переменной $DNA, фактически уничтожая цепочку данных ДНК в этой переменной и оставляя 2 пустые переменные.

    ($RNA = $DNA) =~ s/T/U/g;

    В Примере 3-1 производится с помощью этого оператора:

    $RNA =~ s/T/U/g;

    В этом выражении два новых элемента: оператор связывания (=~) и команда подстановки s/T/U/g.

    Очевидно, достаточно использовать оператор связывания (=~) для переменных, содеражщих символьные строки; здесь переменная $RNA содержит цепочку данных ДНК. Оператор связывания означает «применить операцию справа от символьной строки к переменной слева.

    Оператор подстановки, показанный на Рисунке 4-1, требует немного больше объяснений. Разные части команды разделены (или разграничены) косой чертой. s в начале обозначает, что это подстановка. После первой / идет T, который указывает элемент в символьной строке, который должен быть заменен. После второй / идет U – это элемент для замены T. После третьей / стоит g. g означает «global» — это один из возможных модификаторов, которые могут ставиться в этой части оператора. Global означает «сделать это замещение во всей символьной строке», проще говоря, везде, где в этой символьной строке возможно.

    Figure 4-1. The substitution operator

    Таким образом, значение оператора в целом – «замещение всех T на U в символьной строке, содержащейся в переменной $RNA».

    Оператор подстановки это пример использования регулярных выражений.

    Регулярные выражения это ключ к оперированию текстовыми данными, одно из мощнейших возможностей Perl, Вы сможете увидеть это в следующих главах.

    4.5. Использование документации Perl.

    Самый важный ресурс для Perl программиста это Perl-документация. Она скорее всего была установлена на Ваш компьютер, а так её можно найти в интернете на сайте Perl. Perl-документация может немного отличаться в различных компьютерных системах, но web-версия одинакова для всех. Это версия, на которую я буду ссылаться в данной книге. Посмотрите ссылки в Приложении A, чтобы узнать подробности о различных ресурсах с Perl- документацией.

    Чтобы попробовать это, давайте найдем в справочнике оператор печати.

    Учебник Perl по-русски

    Для начала, откройте свой веб-браузер и зайдите на http://www.perl.com. Затем кликните на сcылку Документация. Выберите “Perl’s Builin Functions”, затем “Alphabetical Listing of Perl’s Functions”. Вы увидите довольно длинный альфавитный список функций Perl. Возможно, как-нибудь Вы снова захотите найти эту страницу, поэтому можно сделать закладку на неё в веб-браузере, может оказаться, что вы часто обращаетесь к ней. Теперь кликните на Print, чтобы прочитать об операторе печати.

    Попробуйте показанные примеры, чтобы почувствовать, как на самом деле используются языковые возможности. Это обычно самый быстрый способ извлечь необходимые знания.

    Как-нибудь при просмотре документации Вы обнаружите, что чтение документации помогает ответить на некоторые вопросы, но так же вызывает другие. Документация направлена подать всю информацию в сжатом виде, что может испугать новичков. Например, документация по функции Print начинается так «Печатает символьную строку или список символьных строк, разделенных запятыми. Выдает TRUE в случае успеха». Но затем идет куча мусора (или так может показаться на данном этапе обучения): индекс файла, выходной поток, списковый контекст…

    Вся эта информация необходима в документации, ведь в действительности Вам когда-то понадобится вся информация. Пока Вы можете не обращать внимание на то, что не требуется.

    Perl документация также включает в себя несколько обучающих программ, которые могут сильно помочь в изучении Perl. Они иногда требуют больших знаний языка, чем те, которыми обладают новички, но скорее всего они окажутся Вам очень полезными. Изучение документации — это отличный способ ускорить изучение языка Perl.

    4.6. Рассчет обратного дополнения с помощью Perl

    Как вы помните из Главы 1, полимер ДНК составлен из нуклеотидов. Установив тесную взаимосвязь между 2 цепочками ДНК в двойной спирали, оказалось, что довольно просто написать программу, которая зная одну цепочку распечатывает другую. Данный расчет — важная часть многих биоинформатичеких программ. Например, при поиске ДНК в базе данных обычно автоматически идет и поиск обратного дополнения ДНК, в результате может быть найдена цепочка обратного порядка некоего известного гена.

    Не затягивая более, рассмотрим Пример 4-4, в котором используется несколько известных свойств Perl. Как Вы можете видеть, сначала пробуется один метод, который оказывается неудачным, затем другой успешный.

    Example 4-4. Calculating the reverse complement of a strand of DNA

    Вот как должен выглядеть результат Примера 4-4 на вашем экране:

    Вы можете проверить, действительно ли 2 цепочки ДНК это обратные наборы друг друга, прочитав один слева направо и другой справа налево, т.е. начав читать с разных концов. Затем сравните каждую пару основ, когда читаете 2 цепочки: они должны всегда быть в паре С с G и A с Т.

    Прочитав только несколько символов начиная с начальной ДНК и обратного набора ДНК из первой попытки вы увидете, что первая попытка рассчета обратного дополнения не удалась. Это был неверный алгоритм.

    С таким Вы иногда будете встречаться во время программирования. Вы напишите программу, завершите работу, а затем обнаружите, что она не работает так, как вы ожидали. В первом случае мы использовали возможности языка, с которыми уже были знакомы, и попытались их применить для новой задачи. Но это не сработало. Что было не так?

    Вы обнаружите, что случай, когда вы пишете код, а он не работает, становится привычным! Поэтому, Вы или отлаживаете синтаксис (что обычно легко может быть сделано по сообщениям об ошибках), или тщательнее обдумываете программу, находите причину того, почему она не работает, а затем пытаетесь разработать новый и более успешный вариант. Часто для этого требуется просмотр документации языка программирования, поиск детальной информации о том, как устроен язык программирования, в надежде найти возможность устранить проблему.

    Если это может быть решено на компьютере, значит возможно решить и с помощью Perl. Вопрос в том, как именно?

    В примере 4-4 первая попытка вычислить обратный набор не удалась. Каждая основа в символьной строке была транслирована как целая, используя 4 замены в глобальном виде. Нужен другой способ. Вы можете продвигаться по ДНК слева направо, смотреть на каждую основу друг за другом, делать изменения в дополнительном коде и затем смотреть на следующую основу в ДНК, передвигаясь к концу символьной строки. Затем просто развернуть символьную строку. Это на самом деле действенный метод и его совсем не сложно выполнить в Perl, хотя потребуются некоторые знания языка программирования, которые до Главы 5 не встречались.

    rpilot62.ru

    Отправить ответ

    avatar
      Подписаться  
    Уведомление о