Latest web development tutorials

Perl instrukcja switch

Perl wyrażenia warunkowe Perl wyrażenia warunkowe

sprawdzian oświadczeniePrzełącznik umożliwia zmienną równą wartości wielokrotnej.Każda wartość nazywana jest to przypadek, a zmienna będzie testowany każdyprzypadek switch do sprawdzenia.

Przełącznik przypadku przełącznika wykonawczy jest oparty na module, moduł przełącznikakorzystaFilter :: Util :: CalliText :: Balancedwykonać oba moduły muszą być zainstalowane.

gramatyka

Składnia jest następująca:

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 "不匹配之前的条件" }
}

Poniżej przedstawiono zasady instrukcji switch:

  • Wspornikiprzełączania instrukcja może być stosowany w dowolnym rodzaju parametrów skalarnych.
  • W przełączniku można mieć dowolną liczbę sprawozdań przypadków. Każdy przypadek jest po wartości do porównania z dwukropkiem.

  • Oświadczenie Skalar, wówczas skalar włączy oświadczenie, i określa, czy nie to samo.

  • Podczas badania zmienna istota jest równa przypadku stałego czasu, po którym następuje stwierdzenie przypadku będzie wykonana, aż napotka instrukcjęprzerwania.

  • Instrukcjaswitch może mieć opcjonalny indziej,oświadczenie w końcowej powierzchni, instrukcja jest wykonywana w przypadku nie odpowiada żadnej sprawy.

  • Gdy dopasowanie przypadku, blok case wykonuje kod z instrukcji switch po wykonaniu.

  • Kiedy sprawa dopasowania, jeśli musimy kontynuować wykonać następną instrukcję case, trzeba dodaćkolejny oświadczenie.

schemat blokowy

Przykłady

#!/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 "没有匹配的条件" }
}

Powyższy program, wyjście jest:

数字 10

Następnie spojrzeć na wykorzystaniukolejnej instancji:

#!/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 "没有匹配的条件" }
}

Powyższy program, wyjście jest:

数字 10
数字在列表中

Perl wyrażenia warunkowe Perl wyrażenia warunkowe