O teste condicional IF em Perl

Agora que aprendemos os operadores de comparação em Perl, vamos iniciar nossos estudos em estruturas de controle, começando pelo teste condicional IF.

O comando IF em Perl

O comando IF é dito ser uma estrutura de seleção, pois ele é um comando que permite determinada ação ser selecionada ou não. Ou seja, com o uso do IF, algumas coisas são executadas e outras não, tudo dependendo de testes condicionais que iremos fazer.

A estrutura de um teste condicional IF é:
if( teste ){
   # código caso o teste
   # seja verdadeiro
}
Funciona assim, primeiro digitamos if, depois abrimos parêntesis e dentro deste deve ter algo que seja verdadeiro (1) ou falso (vazio), geralmente colocamos um teste condicional, ou seja, uma comparação, que nem estudamos no tutorial passado de nosso curso de Perl.

Depois, abrimos chaves: { }
Caso o teste condicional seja verdadeiro, tudo dentro dessas chaves será executado.
Caso o teste seja falso, o comando IF é simplesmente ignorado, o perl pula ele como se não existisse.

O que ocorre aqui é uma tomada de decisão. O Perl avalia se o valor é verdadeiro ou falso, e decide executar determinado bloco de código ou não.
Curso de Perl online grátis

Vamos ver como isso funciona na prática?

Exemplo de uso de IF em Perl

Você foi contratado para criar um script para uma boate. Nele, você pergunta a idade da pessoa e se ela tiver 18 anos ou mais, avisa que ela pode entrar.

Vamos armazenar a idade da pessoa na variável $age e pedir sua idade via <STDIN>.
Agora precisamos comparar $age com 18, para saber se é maior ou igual:
$age >= 18

Basta colocarmos isso entre parêntesis do IF.
Dentro do if, apenas damos um print avisando que a pessoa é de maior e pode entrar, veja como ficou nosso código:
#!/usr/bin/perl

print "Digite sua idade: ";
chomp($age=<STDIN>);

if($age>=18){
    print "Você é de maior, pode entrar\n";
}

Como usar IF em strings em Perl

Você tem que criar um trecho de um código onde você vai pedir uma senha para o usuário, e vai permitir que ele entre no sistema somente se digitar a senha correta, que é rush2112.

Vamos armazenar a senha na variável $password e vamos comparar ela com a string 'rush2112', se for igual, entra no código do IF e dizemos que vai entrar no sistema, nosso código fica assim:
#!/usr/bin/perl

print "Digite a senha: ";
chomp($password=<STDIN>);

if($password eq 'rush2112'){
    print "Senha correta, entrando no sistema...\n";
}

E se você digitar a senha erada? Não cai dentro do código do IF, logo não entra no sistema, simples assim.

Valos booleanos em Perl

Na verdade, não precisa ser um teste condicional, o importante é resultador em um valor booleano:

  • True, verdadeiro ou 1
  • False, falso, vazio ou 0


O seguinte IF sempre será executado:
#!/usr/bin/perl

if(1){
    print "Esse IF sempre é executado.";
}
O seguinte IF, somente programadores podem ver o que tem dentro dele, pois nunca será executado:
#!/usr/bin/perl

if(0){
    print "Somente programadores Perl podem ler isso.";
}
Veja que IF significa SE em inglês...'leia o código': se verdadeiro, executar o código abaixo ...
Faz sentido, não faz?

Note que agora nossos scripts não funcionam sempre da mesma maneira que antes...eles dependem, dependem de um teste condicional. Temos agora um controle maior sobre nossos programinhas em Perl.

Nenhum comentário:

Veja também: