Perl instruction switch
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 数字在列表中