Informática Numaboa - Tutoriais e Programação
Linguagem Perl - Expressões Condicionais
Sab 22 Nov 2008 22:22 |
- Detalhes
- Categoria: Perl e CGI
- Atualização: Sábado, 22 Novembro 2008 22:48
- Autor: vovó Vicki
- Acessos: 5041
Neste tutorial serão tratadas as expressões condicionais if, unless, else e elsif. Também será mostrada uma versão simplificada de if/else oferecida pela linguagem Perl.
Expressões condicionais da Perl
Veja no exemplo abaixo a aplicação de cada uma das expressões condicionais desta linguagem de programação:
Senha
\n"; print "\n"; exit(0); } else # se tiver 'segredo'... { print "Content-type: text/html\n\n"; # HTTP-Header para o HTML print "Senha
\n"; ($nome, $valor) = split(/=/, $Input); for(@Senhas) # Rastrear lista de senhas { if($valor eq $_) # Se o valor fornecido for igual à senha { $Sucesso = "sim"; last; # Terminar o laço for } else # Se não encontrar a senha na lista { $Sucesso = "nao"; } } if($Sucesso eq "sim") { print "Acesso Permitido!\n"; # Aqui, por exemplo, podemos # enviar o usuário para uma URL secreta } else { print "Desculpe, sua senha está incorreta. Seu acesso foi negado !\n"; } print "\n"; exit(0); }Com if inicia-se uma condição se-então (if = se). Logo após o if, dita-se a condição entre parênteses. Para formular a condição, são necessários operadores relacionais para números ou strings, geralmente também variáveis ou expressões regulares.
Uma outra possibilidade para formular uma condição se-então é através do uso de unless (unless = quando não). As regras são as mesmas do if. A diferença reside no fato de que com unless não é checado se a condição foi atendida, mas sim, se a condição não foi atendida para executar a porção do código dependente da referida condição.
Quando se quer criar um bloco de condições, utiliza-se uma ou várias elsif (elsif = ou se) logo após a primeira condição if/unless (atenção: o correto é elsif e não elseif!).
Com else (else = senão) define-se o ramo de código que deve ser executado caso a condição if, unless ou elsif não seja atendida.
:info: Observação: Tudo que estiver num ramo criado por condições if, unless, elsif ou else, precisa estar entre chaves, mesmo que se trate apenas de uma única diretiva.
Expressão Condicional simplificada
Existe uma sintaxe especial para expressões condicionais simples que pode ser utilizada como alternativa às expressões if/else. Veja o exemplo:
Você possui ", $Resultado, "!
\n"; print "\n"; exit(0);Uma avaliação se-então simples é iniciada por uma condição - no exemplo, $ENV{'HTTP_USER_AGENT'} =~ /98/ - seguida por um ponto de interrogação ?. Após o ponto de interrogação segue um valor que será o atual se a condição for satisfeita. Logo a seguir são colocados dois pontos : e o valor que será assumido caso a condição não seja atendida. Como se tratam de valores que só poderão ser processados se estiverem armazenados, geralmente atribui-se o resultado de uma avaliação se-então a uma variável qualquer - no exemplo, a escalar $Resultado.