Instruction switch en Perl

Perl 条件语句Instructions conditionnelles de Perl

Aswitchinstruction permet de tester une variable par égalité avec plusieurs valeurs. Chaque valeur est appelée un cas, et la variable testée est comparée à chaquecas switchvérifié.

L'exécution du cas switch est basée sur leSwitchmodule,SwitchPar défaut, le module n'est pas installé.

Installer le module Switch.pm

Installer avec CPAN

Ouvrez une fenêtre de commande, entrez la commande cpan, puis entrez la commande install Switch :

# cpan
cpan[1]> install Switch           // 安装
cpan[2]> exit                     // 退出

Installation sur Ubuntu avec apt-get

sudo apt-get install libswitch-perl

Syntaxe

Le format de la syntaxe est le suivant :

Syntaxe

use Switch; switch(argument){ case 1 { print "Number 1" } case "a" { print "String a" } case [1..10,42] { print "Number in list" } case (\@array) { print "Number in array" } case /\w+/ { print "Regular expression matching pattern" } case qr/\w+/ { print "Regular expression matching pattern" } case (\%hash) { print "Hash" } case (\&sub) { print "Processus enfant" } else { print "Ne correspond pas aux conditions précédentes" } }

Voici les règles de l'instruction switch :

  • switchTout type d'argument scalaire peut être utilisé dans les parenthèses de l'instruction switch.
  • Il peut y avoir n'importe quel nombre d'instructions case dans un switch. Chaque case est suivie d'une valeur à comparer et d'un deux-points.

  • Le scalaire après l'instruction case est comparé au scalaire de l'instruction switch pour déterminer s'ils sont égaux.

  • Lorsque la variable testée est égale à la constante dans le case, les instructions après le case sont exécutées jusqu'à ce qu'il rencontre l'instructionbreak.

  • switchL'instruction switch peut avoir unelsefacultatif, qui se trouve à la fin et est exécuté lorsqu'aucun cas ne correspond.

  • Après qu'un case correspond, le bloc d'instructions case est exécuté, puis il sort de l'instruction switch.

  • Après qu'un case correspond, si nous devons continuer à exécuter les instructions case suivantes, nous devons ajouter une instructionnext.

Organigramme

Exemple

#!/usr/bin/perl Switch; $var = 10; @array = (10, 20, 30); %hash = ('key1' => 10, 'key2' => 20); switch($var){ case 10 { print "Nombre 10\n" } case "a" { print "Chaîne a" } case [1..10,42] { print "Nombre dans la liste" } case (\@array) { print "Nombre dans le tableau" } case (\%hash) { print "Dans le hachage" } else { print "Aucune condition correspondante" } }

L'exécution du programme ci-dessus produit la sortie suivante :

数字 10

Ensuite, regardons l'utilisation denextl'exemple de :

Exemple

#!/usr/bin/perl Switch; $var = 10; @array = (10, 20, 30); %hash = ('key1' => 10, 'key2' => 20); switch($var){ case 10 { print "Nombre 10\n"; next; } # Continuer l'exécution après correspondance case "a" { print "chaîne a" } case [1..10,42] { print "Nombre dans la liste" } case (\@array) { print "Nombre dans le tableau" } case (\%hash) { print "Dans le hachage" } else { print "Aucune condition correspondante" } }

L'exécution du programme ci-dessus produit la sortie suivante :

数字 10
数字在列表中

Perl 条件语句Instructions conditionnelles de Perl

Autres extensions