Поиск

Взаимодействие с операционной системой

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

Про Perl часто говорят, что он является великолепным интегрирующим языком (glue language). А это означает, что в программах на Perl можно воспользоваться другими приложениями, которые являются компонентами операционной системы, объединить их вместе и создать на их основе другое (более функциональное) приложение. С помощью Perl можно запустить любую утилиту операционной системы, передать ей данные, получить результат их обработки, а затем завершить ее работу.

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

Основные темы этого занятия.

  • Использование функции system().
  • Перенаправление выходного потока.
  • Проблема переносимости программ.
Большинство примеров данного занятия состоит из двух частей. Одна часть предназначена для выполнения в среде Windows и DOS, а другая — в среде UNIX. Если же будет приведен только один пример, то мы обязательно укажем, какие изменения (обычно небольшие) нужно внести в программу, чтобы она работала в той или иной системе.