Latest web development tutorials

istruzione switch Perl

istruzioni condizionali Perl istruzioni condizionali Perl

Test case di un'istruzioneswitch consente una variabile pari al valore multiplo.Ogni valore è chiamato un caso, e la variabile sarà testata ciascuncaso interruttore da controllare.

Interruttore caso interruttore esecutivo si basa sul modulo, modulo switchutilizzaFilter :: Util :: ChiamaeText :: Balancedper eseguire, entrambi i moduli devono essere installati.

grammatica

La sintassi è la seguente:

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

Di seguito sono le regole della istruzione switch:

  • staffepassare istruzione può essere utilizzato in qualsiasi tipo di parametri scalari.
  • In un interruttore si può avere un numero qualsiasi di istruzioni case. Ogni caso è seguito da un valore da confrontare con i due punti.

  • caso scalare dichiarazione, allora lo scalare passerà dichiarazione, e determina o meno la stessa.

  • Quando la variabile che testato è uguale al caso di costante di tempo, seguita da un'istruzione caso verrà eseguita, finché non incontra un'istruzionebreak.

  • switch può avere un altro optional,l'affermazione contenuta nella superficie finale, la dichiarazione viene eseguita nel caso non corrisponde nessun caso.

  • Quando il caso di corrispondenza, blocco case dichiarazione esegue il codice fuori dell'istruzione switch dopo l'esecuzione.

  • Quando il caso di corrispondenza, se abbiamo bisogno di continuare a eseguire l'istruzione case successiva, è necessario aggiungere l'istruzionesuccessiva.

diagramma di flusso

Esempi

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

Il programma precedente, l'uscita è:

数字 10

Prossimo guardiamo l'utilizzo di istanzasuccessiva:

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

Il programma precedente, l'uscita è:

数字 10
数字在列表中

istruzioni condizionali Perl istruzioni condizionali Perl