Latest web development tutorials

Perl switch-Anweisung

Perl bedingten Anweisungen Perl bedingten Anweisungen

Testfall eineswitch - Anweisung ermöglicht eine Variable gleich dem mehrfachen Wert.Jeder Wert ist ein Fall genannt, und die Variable wird jedesSchaltergehäuse getestet werden überprüft werden.

Switch Executive Schaltergehäuse basiert auf dem Modul, Switch- Modul verwendetFilter :: Util :: RufenundText :: Balancedauszuführen, müssen beide Module installiert werden.

Grammatik

Die Syntax lautet wie folgt:

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

Im Folgenden sind die Regeln der switch-Anweisung:

  • Klammernswitch - Anweisung kann in jeder Art von skalaren Parameter verwendet werden.
  • In einem Schalter können Sie eine beliebige Anzahl von Case-Anweisungen haben. Jeder Fall wird gefolgt von einem Wert mit einem Doppelpunkt zu vergleichen.

  • Scalar case-Anweisung, dann wird der skalare Anweisung wechseln, und bestimmt, ob oder nicht das gleiche.

  • Wenn die Variable getestet auf den Fall konstanter Zeit gleich ist, wird von einem Fall Anweisung folgt ausgeführt werden, bis er einebreak - Anweisung trifft.

  • switch - Anweisung kann eine optionale else haben,die Aussage in der endgültigen Oberfläche, wird die Anweisung in dem Fall ausgeführt keinen Fall überein.

  • Wenn der passende Fall führt Case-Anweisung Blockcode aus der Switch-Anweisung nach der Ausführung.

  • Wenn der passende Fall, wenn wir die nächste Case - Anweisung ausführen müssen , um fortzufahren, müssen Sie dienächste Anweisung hinzuzufügen.

Flussdiagramm

Beispiele

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

Das obige Programm, das Ausgabe ist:

数字 10

Als nächstes schauen wir auf die Verwendungnächste Instanz:

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

Das obige Programm, das Ausgabe ist:

数字 10
数字在列表中

Perl bedingten Anweisungen Perl bedingten Anweisungen