Latest web development tutorials

Заявление переключателя Perl

Perl условные операторы Perl условные операторы

Тестовый случайпереключатель заявление позволяет переменную , равную кратной величины.Каждое значение называется случай, а переменная будет испытано каждыйслучай переключателя для проверки.

Переключатель Исполнительный случай переключатель основан на модуле, коммутационныймодуль используетфильтр :: Util :: ЗвонитеиText :: Balancedвыполнять оба модуля должны быть установлены.

грамматика

Синтаксис выглядит следующим образом:

use Switch;

switch(argument){
   case 1            { print "数字 1" }
   case "a"          { print "字符串 a" }
   case [1..10,42]   { print "数字在列表中" }
   case (\@array)    { print "数字在数组中" }
   case /\w+/        { print "正则匹配模式" }
   case qr/\w+/      { print "正则匹配模式" }
   case (\%hash)     { print "哈希" }
   case (\&sub)      { print "子进程" }
   else              { print "不匹配之前的条件" }
}

Ниже приведены правила заявления переключателя:

  • Кронштейныпереключения оператор можно использовать в любом типе скалярных параметров.
  • В коммутаторе вы можете иметь любое количество тематических заявлений. Каждый случай следует значение для сравнения с двоеточием.

  • Скалярное сазе, то скалярная переключится оператор, и определяет, является ли то же самое.

  • Когда переменная испытываемое равна при постоянной времени, за которым следует случае оператор будет выполняться, пока не встретится с заявлениемперерыв.

  • Заявлениепереключатель может иметь необязательный еще,заявление в окончательной поверхности, оператор выполняется в случае , не соответствует ни одного случая.

  • Когда соответствующий случай, случай блок операторов выполняет код из заявления коммутатора после выполнения.

  • Когда соответствующий случай, если нам нужно продолжать выполнять следующий оператор случае вам нужно добавитьследующий оператор.

технологическая схема

примеров

#!/usr/bin/perl

use Switch;

$var = 10;
@array = (10, 20, 30);
%hash = ('key1' => 10, 'key2' => 20);

switch($var){
   case 10           { print "数字 10\n" }
   case "a"          { print "字符串 a" }
   case [1..10,42]   { print "数字在列表中" }
   case (\@array)    { print "数字在数组中" }
   case (\%hash)     { print "在哈希中" }
   else              { print "没有匹配的条件" }
}

Вышеприведенная программа, выход:

数字 10

Далее мы рассмотрим использованиеследующего экземпляра:

#!/usr/bin/perl

use Switch;

$var = 10;
@array = (10, 20, 30);
%hash = ('key1' => 10, 'key2' => 20);

switch($var){
   case 10           { print "数字 10\n"; next; }  # 匹配后继续执行
   case "a"          { print "string a" }
   case [1..10,42]   { print "数字在列表中" }
   case (\@array)    { print "数字在数组中" }
   case (\%hash)     { print "在哈希中" }
   else              { print "没有匹配的条件" }
}

Вышеприведенная программа, выход:

数字 10
数字在列表中

Perl условные операторы Perl условные операторы