Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Perl / Для начинающих /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Конструкции языка PERL - Программирование от RIN.RU
Конструкции языка PERL

Perl поддерживает все выражения языка С, используя почти идентичный их формат. Например, управляющие конструкции if, while, do, for и goto используются в обоих языках в одинаковой форме. Как вы увидите в дальнейшем, оператор continue имеет несколько иное значение в языке Perl. Его прежнее значение теперь называют next, а оператор break называют теперь last. Perl нереализует оператор switch. Кроме того, некоторые выражения языка С можно найти в Perl в иных форматах и добавлены многие новые выражения.


Простые и составные операторы


Простым выражением называется любая допустимая комбинация операторов и операндов. В языке Perl оператором является выражение, заканчивающееся точкой с запятой. Как и в языке программирования С, все операторы оканчиваются точкой с запятой. Когда вывводите текст программы в отладчик, можно опускать точку с запятой, поскольку отладчик поставит ее за вас. Следующий текст иллюстрирует простой оператор присваивания на языке Perl:


$Title = "Web Programming";


Так же как и при программировании на С, скрипты Perl могутсодержать блоки операторов, или составные операторы, которые помещаются в фигурные скобки ({}), как показано ниже:


{
# Операторы
# Другой блок операторов
}


Ваши скрипты будут широко использовать блоки инструкций наряду с более сложными операторами. Как и в языке С, скрипты наязыке Perl могут использовать блоки инструкций для определенияобласти видимости (scope) локальных переменных. Однако определение локальных переменных в блоке не является автоматическим. Для их декларации скрипт должен использовать ключевое слово local. Далее в этой главе мы рассмотрим область видимости переменных в деталях.


Условные операторы


Многие предыдущие примеры использовали оператор if. В языке Perl оператор if почти что идентичен оператору if в языке С. Отличие, однако, состоит в том, что в языке С оператор if может использовать простую инструкцию без фигурных скобок, тогда как в языке Perl инструкции обязательно должны быть заключены в фигурные скобки, образуя блок.


if (expr)
statement; // приемлемо для C но не для Perl
if (expr)
{
statement; # вот так нужно делать в Perl
}


Аналогичным образом инструкции языка Perl else работает немного отлично от соответствующей инструкции в С. В языке Perl инструкции также должны быть заключены в фигурные скобки и образовать блок:


// Пример в С неприемлемо в Perl
if (expr1)
statament1;
else if (expr2)
statement2;
else
stаtement3;


Ниже показано, что Perl позволяет использовать конструкцию elsif:


if (expr1)
{
statament1;
}
elsif (expr2)
{
statement2;
}
else
{
ststement3;
}


Оператор UNLESS


В языке программирования С программисты используют логическое отрицание (!) для изменения булевой величины на противоположное, как показано ниже:


if (!(expr)) // Отрицание на С
{
statement;
}


Наряду с использованием логического отрицания, скрипты Perl часто содержат оператор unless, который обеспечивает то же самое,что и записанный выше код на С.


unless (expr)
{
statement;
}


Примечание: В отличие от языка С, Perl не содержит оператора переключения switch.


Оператор DO


Одним из частных случаев блочных операторов служит оператор do, который позволяет блоку инструкций возвращать значения. Значением, которое оператор do возвращает, является значение последнего выражения, оцененного в рамках блока. Например, следующий оператор do сравнивает строковую переменную $Month с месяцами года и присваивает переменной $DayCount значение, равное числу днейв месяце:


$DayCount = do
{
if ($Month eq "September" || $Month eq "April" || $Month eq "June" ||
$Month eq "November")
{
30;
}
elsif ($Month eq "Februry")
{
$Year & 3 ? 28 : 29; # Проверка на весокосный год
}
else
{
31;
}
};


Обратите внимание, что Perl требует наличия точки с запятой в конце блока do. Не путайте блок do с оператором do while, который будет рассматриваться ниже в этой главе


Вперед  >>>
 1  2  3  4 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Синтаксис

Использование отладчика PERL

Типы данных в PERL

Переменные

Операторы PERL

Подпрограммы

Обработка строк

Обработка списков

Работа с массивами

Функции обработки ассоциативных массивов

Файловый ввод и вывод

Обработка бинарных данных

Работа с каталогами

Форматированный вывод

Регулярные выражения

CGI-скрипты при помощи PERL

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь