Latest web development tutorials

Perlのswitchステートメント

Perlの条件文 Perlの条件文

テストケースは、switch文は、複数の値に等しい変数を可能にします。 各値はケースと呼ばれ、変数をチェックするために、各スイッチケースを試験します。

エグゼクティブスイッチケースは、モジュールに基づいて、スイッチ・モジュールは、 フィルターを使用しいます:: Utilの::通話テキスト::バランスを実行するように切り替え、両方のモジュールをインストールする必要があります。

文法

構文は次のとおりです。

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

次は、switch文の規則であります:

  • 括弧は、文がスカラーパラメータの任意のタイプで使用することができるスイッチ 。
  • スイッチでは、case文の数に制限はありません。 各ケースは、コロンと比較する値が続いています。

  • スカラーcase文、スカラー文を切り替わり、同じか否かを判断します。

  • テストされている変数は、case文に続いて、一定時間の場合、に等しい場合、それはbreakステートメントに遭遇するまで、実行されます。

  • switch文は、最終面内のステートメント、他のオプションを持つことができ、文がどのような場合に一致しない場合に実行されます。

  • マッチングケース、ケースステートメントブロックを実行した後にswitch文の外にコードを実行します。

  • ときに一致する場合、我々は次のcase文を実行するために継続する必要がある場合、あなたは次のステートメントを追加する必要があります。

フローチャート

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

上記のプログラムは、出力は次のようになります。

数字 10

次に、次のインスタンスの使用を見てみましょう。

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

上記のプログラムは、出力は次のようになります。

数字 10
数字在列表中

Perlの条件文 Perlの条件文