Россия |
Классификация ввода-вывода
1.5.7. Язык Perl
В языке Perl существуют следующие правила оформления программных модулей [11, 18]:
- Программа на языке Perl находится в файле с расширением: "*.pl".
- Начинаться программа должна с директивы компилятору, имеющей следующий синтаксис:
#!<путь к интерпретатору Perl> {<опции>}
Листинг 1.29.Например:
- Основная программа начинается с первого её оператора, а заканчивается - концом файла или оператором описания функций "sub".
- Комментарии на языке Perl обозначаются как: "#". Все символы, набранные после этого знака, игнорируются интерпретатором.
- Описание подпрограмм и функций начинается со слова "sub", после которого идёт блок с операторами. Подпрограмма завершается при выходе из этого блока:
sub <имя функции> {<тело функции>}
Листинг 1.32. - Вызов подпрограммы осуществляется следующим образом:
[<переменная>=] &<имя функции> [(<аргументы>)]
Листинг 1.33.<аргументы> ::= {<литерал>|\<имя фактического параметра>}+
Листинг 1.34. - Объявление процедур осуществляется либо сразу же после основной функции, либо в отдельном файле-библиотеке (расширение - "*.pl" ) или модуле (расширение - "*.pm" ). Подробнее о реализации библиотек и модулей см. [18]. Стандартные же шаблоны оформления модулей и библиотек см. в приложении №III (1.8).
- Доступ к аргументам (как основной программы, так и функций) осуществляется через переменную: "@_".
- Программа ("макрос", "скрипт") на языке Perl может выдавать целое значение при выходе из неё (с помощью функции: "exit( <целое число> )" ). По "джентльменскому соглашению" программа возвращает "0" в случае своего нормального завершения.
- Для запуска макросов в командной строке необходимо набрать:
perl <полное имя макроса> {<аргументы>}
Листинг 1.35.Примечание. Если в качестве аргументов используются имена файлов, необходимо указывать их полные путевые имена.
Примечание. В приложении №IV (1.9) представлены тексты командных файлов Windows, с помощью которых можно "облегчить" выполнение сценариев на Perl, указывая не абсолютные путевые, а "относительные" имена файлов. Инструкция к ним прилагается.
В примере 1.6 написана простейшая программа на языке Perl, иллюстрирующая текстовый ввод-вывод данных.
Пример 1.6.
#!perl -w # Файл ex01006.pl # с демонстрацией программы на языке Перл (ввод-вывод данных) # Выводим диалоги print "\nHello, World!"; print "\nНе желаете ли поговорить? "; print "\nВведите \'y\' или \'Y\' для Да или другую букву для нет.\n"; # Проверка нажатия клавиши 'y' $cAns = <STDIN>; $cAnswer = substr( $cAns, 0, 1 ); if( ($cAnswer eq 'Y') or ($cAnswer eq 'y') ) { print "\nПрекрасная погода, не так ли?"; } print "\nДо свидания!"; # Выход из программы print "\nPress key Enter to exit..."; $junk = <STDIN>; #Конец файла
1.5.8. Язык Visual Basic Script
В этой главе мы познакомимся с языком Visual Basic Scripting Edition (VBScript) - младшим представителем семейства языка Visual Basic. Язык VBScript - это язык написания небольших программ (скриптов), которые расположены внутри командных файлов операционной системы или внутри HTML-документа, и предназначены для проверки вводимых пользователем данных, автоматического изменения файлов конфигурации, содержимого текстовых файлов и для других задач. Эти программы обращаются напрямую к ресурсам операционной системы или веб-страницы, и не требуют дополнительных ресурсов.
Прежде, чем рассмотреть сам язык, отметим, что преимущество скриптовых языков заключается в том, что Вам не нужны никакие средства разработки - только текстовый редактор, браузер Интернета и командная строка Microsoft Windows [2].
- Весь код, который Вы пишите, хранится в файлах с расширениями *.VBS или *.VBE, или внутри вашего html файла. Для размещения скриптовых программ внутри HTML-документа используется специальный тег "<SCRIPT> … </SCRIPT>". В качестве атрибутов данного тега указывается язык, на котором написана программа (атрибут LANGUAGE, в нашем случае LANGUAGE="VBScript" );
Примечание: Использование тегов-комментариев <!-- -->, "скрывающих" текст программы от браузеров, не поддерживающих тег <SCRIPT>, в настоящее время не актуально.
- В языке VBScript всего один тип данных - Variant, имеющий ряд подтипов. Обработчик языка самостоятельно определяет текущий тип данных в зависимости от контекста. VBScript подразумевает использование числовых данных тогда, когда они больше всего подходят по контексту, и символьных данных в ином случае;
- Так как VBScript предназначен для написания небольших приложений, в нём имеются ограничение на число глобальных переменных в программе (127, массив рассматривается как одна переменная), и на число локальных переменных (то есть переменных внутри подпрограмм, тоже 127 переменных);
- Поддерживаются обычные переменные, глобальные и локальные, массивы и скалярные величины;
- Массивы могут быть статическими и динамическими. Поддерживается два типа констант - строчные и числовые;
- Комментарии начинаются с ключевого слова Rem или знаком прямой апостроф "'" ;
- Операторы отделяются друг от друга символом новой строки ( EOL );
- Оператор присваивания LET записывается следующим образом:
"переменная" = "выражение";
Листинг 1.36. - Перед употреблением идентификаторов они сначала должны быть описаны. Константы и переменные объявляются при помощи выражения Dim:
- Скрипт на языке VBScript запускается на исполнение: Примечание: разница между этими программами заключается в том, что в первом случае программа запускается в "консольном" режиме, а во втором случае - "в оконном" режиме;
- Скрипты на языке VBScript не чувствительны к регистру знаков в переменных, операторах и функциях (в отличие от "схожего языка" javaScript);
- Локальные процедуры и функции объявляются операторами: "Sub … End Sub" и "Function … End Function". Смотри пример ниже:
Sub "имя процедуры"("формальные параметры")
Листинг 1.43.… "тело процедуры" …
Листинг 1.44.End Sub
Листинг 1.45.Function "имя функции"("формальные параметры")
Листинг 1.46.… "тело функции" …
Листинг 1.47."имя функции" = "результат"
Листинг 1.48.End Function
Листинг 1.49. - Хорошим тоном считается следующее расположение операторов на языке Бейсик:
В примере 1.7 написана простейшая программа на языке Visual Basic Script (VBScript), иллюстрирующая текстовый ввод-вывод данных. Внимание! Запустить эту программу можно только в командной строке, указав: cscript ex01007.vbs
Пример 1.7.
'ex01007.vbs файл с демонстрацией программы на языке Вижел Бейсик (ввод-вывод данных) ' Определяем переменные Dim cAnsw, cAnswer, junk ' Выводим диалоги WScript.Echo "Hello, World!" Wscript.Echo "Не желаете ли поговорить? " Wscript.Echo "Введите y или Y для Да или другую букву для нет." ' Проверка нажатия клавиши 'y' cAnsw = WScript.StdIn.ReadLine cAnswer = Left(cAnsw, 1) if cAnswer = "Y" OR cAnswer = "y" Then Wscript.Echo "Прекрасная погода, не так ли?" End If Wscript.Echo "До свидания!" ' Выход из программы Wscript.Echo "Press key Enter to exit..." junk = WScript.StdIn.ReadLine() ' Конец программы