Что имеют в виду люди, когда они говорят, что “Perl очень хорош в парсинге”? [закрытый]

Лучшая статья (IMHO) о Конфигурации приложения.NET находится на CodeProject , Распутывающем Тайны.NET 2.0 Конфигурации . И моя следующая любимая (более короткая) статья о разделах в .net конфигурационных файлах Обработчики Разделов Понимания - Файл .

App.config

6
задан brian d foy 14 December 2009 в 06:59
поделиться

5 ответов

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

  • Perl имеет множество функций для обработки строк: substr , index , chomp , length , grep , sort , reverse , lc , ] ucfirst , ...
  • Perl автоматически выполняет преобразование между числами и строками в зависимости от того, как используется значение. (например, вы можете прочитать символьную строку '100' из файла и добавить ее к нему без необходимости сначала выполнять преобразование строки в целое число)
  • Perl автоматически выполняет преобразование в кодировку платформы и из нее (например, CRLF в Windows) и логическая новая строка ("\ n") в вашей программе.
  • Регулярные выражения интегрированы в синтаксис, а не являются отдельной библиотекой.
  • Регулярные выражения Perl являются «золотым стандартом» мощности и функциональности.
  • Perl имеет полную поддержку Unicode.

Python и Ruby также имеют хорошие возможности для обработки текста. (В частности, Ruby черпал вдохновение из Perl, как Perl без зазрения совести позаимствовал из многих других языков.) Нет смысла спрашивать, что лучше. Используйте то, что вам нравится.

19
ответ дан 8 December 2019 в 02:35
поделиться

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

Когда люди говорят о том, что Perl «хорош для синтаксического анализа», они в основном повторяют историю Perl; он был изобретен в те дни, когда тяжелая обработка текста была непростой. Попробуйте сделать что-то из этого на C или C ++ (Java тоже еще не изобрели!). День назад, Ларри пытался работать с sed и awk, но сталкивался с их ограничениями. Он создал инструмент, который упростил работу с текстом.

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

11
ответ дан 8 December 2019 в 02:35
поделиться

Perl очень хорош в синтаксическом анализе текста по сравнению с C / C ++ / Java.

1
ответ дан 8 December 2019 в 02:35
поделиться

Perl также хорош для ETL или пакетной обработки движений. Это минимальный объем кода, чтобы подобрать файл; протолкните его через разделение , чтобы получить карту , выполнить некоторые логические бизнес-действия с записью и записать ее обратно на диск.

Я полагаю, что это больше обработки данных, чем их синтаксический анализ , но обработка данных - это синтаксический анализ массивов данных.

4
ответ дан 8 December 2019 в 02:35
поделиться

Вероятно, это потому, что люди привыкли к тому, для чего он был создан, как описано в документации perl , поэтому для многих это стало обычным явлением люди, чтобы связать парсинг текстовых файлов с Perl. Не исключая Ruby или Python, это просто нарицательное имя IMHO.

Perl - это язык, оптимизированный для сканирования произвольных текстовых файлов, извлечения информации из этих текстовых файлов и печати отчетов на основе этой информации. Это также хороший язык для решения многих задач управления системой. Язык задуман скорее как практичный (простой в использовании, эффективный, полный), чем красивый (крошечный, элегантный, минималистичный).

0
ответ дан 8 December 2019 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: