Latest web development tutorials

Perl instruction switch

Perl instructions conditionnelles Perl instructions conditionnelles

Cas de test d' une instructionswitch permet une variable égale à la valeur multiple.Chaque valeur est appelée un cas, et la variable sera testé chaquecas de commutation à vérifier.

Switch Executive boîtier de commutateur est basé sur le module, le module de commutationutiliseFilter :: Util :: AppeletText :: Balancedpour effectuer, les deux modules doivent être installés.

grammaire

La syntaxe est la suivante:

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

Voici les règles de l'instruction switch:

  • supportscommutateur déclaration peut être utilisé dans tout type de paramètres scalaires.
  • Dans un commutateur, vous pouvez avoir un certain nombre de déclarations de cas. Chaque cas est suivie d'une valeur à comparer avec un colon.

  • déclaration de cas Scalar, puis le scalaire passe déclaration, et détermine si oui ou non les mêmes.

  • Lorsque la variable testée est égale au cas de constante de temps, suivie d'une déclaration de cas sera exécuté, jusqu'à ce qu'il rencontre une instructionbreak.

  • instructionswitch peut avoir une option d' autre,la déclaration de la surface finale, l'instruction est exécutée dans le cas ne correspond pas à tous les cas.

  • Lorsque le cas de correspondance, bloc de déclaration de cas exécute le code de l'instruction switch après l'exécution.

  • Lorsque le cas de correspondance, si nous devons continuer à exécuter l'instruction suivante de cas, vous devez ajouter l'instructionsuivante.

Diagramme

Exemples

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

Le programme ci-dessus, le résultat est:

数字 10

Ensuite , nous examinons l'utilisation de l' instancesuivante:

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

Le programme ci-dessus, le résultat est:

数字 10
数字在列表中

Perl instructions conditionnelles Perl instructions conditionnelles