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

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


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


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


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



  • Использование функции system().

  • Перенаправление выходного потока.

  • Проблема переносимости программ.

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: