Latest web development tutorials

switch Perl

instruções condicionais Perl instruções condicionais Perl

caso de teste uma instruçãoswitch permite que uma variável igual ao valor múltiplo.Cada valor é chamado de um caso, ea variável será testado cadacaso mude para ser verificado.

Alternar caso interruptor Executivo é baseado no módulo, módulo de chaveusafiltro :: Util :: LigueeText :: equilibradapara executar, ambos os módulos precisam ser instalados.

gramática

A sintaxe é a seguinte:

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

A seguir estão as regras da instrução switch:

  • suportesalternar instrução pode ser utilizado em qualquer tipo de parâmetros escalares.
  • Em um interruptor que você pode ter qualquer número de instruções case. Cada caso é seguido por um valor a comparar com um cólon.

  • declaração caso escalar, então a escalar mudará declaração, e determina se ou não o mesmo.

  • Quando a variável a ser testado é igual ao caso da constante de tempo, seguido por uma indicação de caso vai ser executada, até encontrar uma indicação daruptura.

  • switch pode ter um opcional else,a instrução na superfície final, a instrução é executada no caso não corresponde a nenhum caso.

  • Quando o caso de correspondência, bloco de instrução caso executa o código para fora do switch após a execução.

  • Quando o caso de correspondência, se precisamos continuar a executar a próxima instrução caso, você precisa adicionar aseguinte declaração.

fluxograma

Exemplos

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

O programa acima, a saída é:

数字 10

Em seguida olhamos para o uso de ocorrênciaseguinte:

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

O programa acima, a saída é:

数字 10
数字在列表中

instruções condicionais Perl instruções condicionais Perl