В чем разница между подпрограммами и скриптами в Perl? - PullRequest
2 голосов
/ 21 февраля 2012

Я изучаю Perl, и у меня возник вопрос.В чем именно разница между подпрограммами и скриптами?

Ответы [ 2 ]

7 голосов
/ 21 февраля 2012

A script - это просто имя (обычно короткой) программы, обычно содержащейся в одном файле. Это не совсем научный / технический термин, и поэтому он довольно расплывчатый - люди могут ссылаться на «сценарий» при обсуждении быстрой программы из 3 строк или программы с 10000 строками кода.

Некоторые люди называют любую программу на Perl «скриптом» - см. Историческую причину ниже. Некоторые люди, когда они говорят «сценарий Perl» в отличие от Perl «программа», имеют в виду относительно простую, относительно короткую программу, часто структурированную без использования каких-либо подпрограмм / классов / других методов организации кода. Опять же, нет стандартного определения.

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

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


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

Подпрограмма НЕ является концепцией, специфичной для Perl, хотя ее называют «подпрограммой» на очень немногих языках (большинство используют термин функция, метод или процедура).


В качестве особого примечания, " метод " - как в Perl, так и в других языках - это специальный тип подпрограммы, который связан с объектно-ориентированным классом или объектом этого учебный класс. Тот факт, что это просто особый случай подпрограммы, конечно же, подчеркивается тем фактом, что - несмотря на глубокие пожелания автора "Modern Perl" chromatic - методы в Perl 5 объявляются с ключевым словом "sub" То же, что и обычные подпрограммы.


Как отмечалось выше, некоторые люди, ссылаясь на программу Perl как «скрипт», подразумевают, что она не содержит подпрограмм (например, что-либо достаточно сложное, чтобы подпрограмма больше не является «скриптом») "но" программа "). Но это не является общепринятым или формальным определением - как уже говорилось, не является определением того, что представляет собой сценарий , каждый использует термин любым способом, каким пожелает.

1 голос
/ 21 февраля 2012

Скрипт - это обычно файл, который может содержать операторы и подпрограммы.Подпрограмма - это то, что вы найдете в скрипте.

Подпрограммы подробно описаны на странице руководства perlsub .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...