Опубликован: 15.11.2010 | Уровень: для всех | Доступ: платный
Лекция 1:

Классификация ввода-вывода

Лекция 1: 12345678 || Лекция 2 >

1.5.7. Язык Perl

В языке Perl существуют следующие правила оформления программных модулей [11, 18]:

  1. Программа на языке Perl находится в файле с расширением: "*.pl".
  2. Начинаться программа должна с директивы компилятору, имеющей следующий синтаксис:
    #!<путь к интерпретатору Perl> {<опции>}
    Листинг 1.29.

    Например:

    • для интерпретатора perl в UNIX
      #!/usr/bin/perl
      Листинг 1.30.
    • для интерпретатора perl в Windows. Опция -w означает: "включить отладку сценариев"
      #!perl -w
      Листинг 1.31.
  3. Основная программа начинается с первого её оператора, а заканчивается - концом файла или оператором описания функций "sub".
  4. Комментарии на языке Perl обозначаются как: "#". Все символы, набранные после этого знака, игнорируются интерпретатором.
  5. Описание подпрограмм и функций начинается со слова "sub", после которого идёт блок с операторами. Подпрограмма завершается при выходе из этого блока:
    sub <имя функции> {<тело функции>}
    Листинг 1.32.
  6. Вызов подпрограммы осуществляется следующим образом:
    [<переменная>=] &<имя функции> [(<аргументы>)]
    Листинг 1.33.
    где <переменная> - присвоенное значение-результат работы функции; <имя функции> - имя, зарезервированное в [1.32]. Аргументами могут быть строковый литерал либо ссылка:
    <аргументы> ::= {<литерал>|\<имя фактического параметра>}+
    Листинг 1.34.
  7. Объявление процедур осуществляется либо сразу же после основной функции, либо в отдельном файле-библиотеке (расширение - "*.pl" ) или модуле (расширение - "*.pm" ). Подробнее о реализации библиотек и модулей см. [18]. Стандартные же шаблоны оформления модулей и библиотек см. в приложении №III (1.8).
  8. Доступ к аргументам (как основной программы, так и функций) осуществляется через переменную: "@_".
  9. Программа ("макрос", "скрипт") на языке Perl может выдавать целое значение при выходе из неё (с помощью функции: "exit( <целое число> )" ). По "джентльменскому соглашению" программа возвращает "0" в случае своего нормального завершения.
  10. Для запуска макросов в командной строке необходимо набрать:
    perl <полное имя макроса> {<аргументы>}
    Листинг 1.35.
    где <полное имя макроса> - имя программы (с расширением: "*.pl" ) вместе с его путевым именем; <аргументы> - передаваемые программе аргументы-значения.

    Примечание. Если в качестве аргументов используются имена файлов, необходимо указывать их полные путевые имена.

    Примечание. В приложении №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].

  1. Весь код, который Вы пишите, хранится в файлах с расширениями *.VBS или *.VBE, или внутри вашего html файла. Для размещения скриптовых программ внутри HTML-документа используется специальный тег "<SCRIPT> … </SCRIPT>". В качестве атрибутов данного тега указывается язык, на котором написана программа (атрибут LANGUAGE, в нашем случае LANGUAGE="VBScript" );

    Примечание: Использование тегов-комментариев <!-- -->, "скрывающих" текст программы от браузеров, не поддерживающих тег <SCRIPT>, в настоящее время не актуально.

  2. В языке VBScript всего один тип данных - Variant, имеющий ряд подтипов. Обработчик языка самостоятельно определяет текущий тип данных в зависимости от контекста. VBScript подразумевает использование числовых данных тогда, когда они больше всего подходят по контексту, и символьных данных в ином случае;
  3. Так как VBScript предназначен для написания небольших приложений, в нём имеются ограничение на число глобальных переменных в программе (127, массив рассматривается как одна переменная), и на число локальных переменных (то есть переменных внутри подпрограмм, тоже 127 переменных);
  4. Поддерживаются обычные переменные, глобальные и локальные, массивы и скалярные величины;
  5. Массивы могут быть статическими и динамическими. Поддерживается два типа констант - строчные и числовые;
  6. Комментарии начинаются с ключевого слова Rem или знаком прямой апостроф "'" ;
  7. Операторы отделяются друг от друга символом новой строки ( EOL );
  8. Оператор присваивания LET записывается следующим образом:
    "переменная" = "выражение";
    Листинг 1.36.
  9. Перед употреблением идентификаторов они сначала должны быть описаны. Константы и переменные объявляются при помощи выражения Dim:
    • Rem объявление константы
      Dim MyConstant
      Листинг 1.37.
      MyConstant = "My Text String"
      Листинг 1.38.
    • Rem объявление скалярной переменной
      Dim MyVariable;
      Листинг 1.39.
    • Rem Объявление массива (из 10 элементов, с индексами 0 - 9)
      Dim MyArray(9)
      Листинг 1.40.
  10. Скрипт на языке VBScript запускается на исполнение:
    • в браузере - сразу после открытия веб-страницы, содержащей файл;
    • в операционной системе - после подачи команды:
      cscript "имя файла со скриптом".vbs
      Листинг 1.41.

      или

      wscript "имя файла со скриптом".vbs
      Листинг 1.42.
    Примечание: разница между этими программами заключается в том, что в первом случае программа запускается в "консольном" режиме, а во втором случае - "в оконном" режиме;
  11. Скрипты на языке VBScript не чувствительны к регистру знаков в переменных, операторах и функциях (в отличие от "схожего языка" javaScript);
  12. Локальные процедуры и функции объявляются операторами: "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.
  13. Хорошим тоном считается следующее расположение операторов на языке Бейсик:
    • "Комментарии"
    • "Описание глобальных переменных и констант"
    • "Описание локальных функций"
    • "Тело программы"

В примере 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()
' Конец программы
Лекция 1: 12345678 || Лекция 2 >
Artem Bardakov
Artem Bardakov
Россия
Андрей Алабин
Андрей Алабин
Россия