Ciclos de Controlo:"If..else" e "If..elsif.." em Perl
E aqui vem o mais um artigo relativo ao perl. Neste artigo vou-vos ensinar a utilizar um dos ciclos de controlo mais
utilizados em programação que é o ciclo “if..else” e sua forma complexa “if..elsif”.
Este ciclo serve para controlar o fluxo de dados de um programa, no sentido de que se uma condição for verdadeira
vai realizar uma acção e se for falsa vai realizar outra.
O ciclo “if..else” divide-se em duas partes
if (condição) {
#bloco de código1
} else {
#bloco de código2
}
Como podem ver tem uma estrutura muito simples. Mas para facilitar a vossa compreensão de como isto funciona vou explicar passo a passo o que está neste exemplo.
if (condição) {
#na primeira linha inicio o ciclo if dizendo que tem que verificar a condição que está entre "()", caso esta condição
#seja verdadeira, irá ser #executado o bloco de código1
} else {
#caso seja falso irá executar o bloco de código2
A primeira vez pode ser um pouco complicado. Mas agora vou dar um exemplo prático. Imaginem que que queremos fazer um script que analise um valor introduzido e diga se é negativo ou positivo. Para tal fazemos o seguinte.
#!/usr/bin/perl -w
use strict;
print "Introduza um númeron";
chomp(my $val = <STDIN>);
if($val > 0) {
print "número é positivon";
} else {
print "número é negativon";
}
Nesta situação utilizamos o if para verificar se o número é positivo ou negativo. E agora vocês perguntam-se então e
se tivermos mais do que 2 condições para analisar ou então neste programa de ver se é positivo ou negativo como fazemos
se o número for 0.
Bem para lidar com essas situações temos uma derivação do ciclo If que é o “if .. elsif”.
A sua estrutura de trabalho é bastante parecida ao ciclo if simples, só que neste caso temos 2 ou mais condições
para verificar. De seguida fica a estrutura de um ciclo “if..elsif”.
if (condição) {
#na primeira linha inicio o ciclo if dizendo que tem que verificar a condição que está entre **()** caso esta condição
#seja verdadeira , irá ser #executado o bloco de código1
#bloco de código1
}elsif(condição){ #caso a primeira condição não seja verdade o ciclo irá verificar a segunda condição.
#bloco de código2
}else{#por fim caso nenhuma destas condições sejam verdadeiras então irá executar o bloco de código 3
#bloco de código3
}
Como podem ver este tipo de estrutura oferece um controlo de dados um pouco mais complexa. Como não poderia de deixar de fazer vou deixar um exemplo prático deste ciclo. E como tal vou pegar no programa anterior e irei usar este ciclo para verificar se o valor introduzido é 0.
#!/usr/bin/perl -w
use strict;
print "Introduza um númeron";
chomp(my $val = <STDIN>);
if ($val > 0) {
print "número é positivon";
} elsif($val < 0) {
print "número é negativon";
}else{
print "o valor é nulo";
}