Apostilas de Programação Projeto Progressivo

Desde 2012, temos o maior orgulho de ser criadores do maior projeto de ensino de programação do Brasil, o Projeto Progressivo, que ensina diversas linguagens de programação de maneira totalmente online e gratuita, sem requisitar nem mesmo login para acesso do conteúdo.

Adquirimos apostilas, compramos livros, fizemos cursos (acadêmicos e técnicos), unimos com nossa experiência de programadores, com um único propósito: te ensinar e dar o melhor, maior e mais completo material sobre computação.

Agora, após muitos pedidos, estamos também disponibilizando nossas apostilas, com todo conteúdo dos sites, e mais alguns tutoriais exclusivos.

Assim, você pode:
Estudar offline
Não ser incomodado por propagandas
Ter todo conteúdo bem organizado num único arquivo PDF
Ler na cama, no trabalho, no ônibus, no trânsito...
Estudar no computador, celular, tablet, microondas...

E o mais bacana:
Você nos ajuda a prosseguir com nossos projetos, você incentiva o ramo da programação no Brasil.

Vamos nos unir ?













































Ler Tutorial

Como os backlinks ajudam o seu SEO

Ter à sua disposição uma empresa que disponibiliza uma boa hospedagem de site é muito importante para o seu blog ou site, pois desse modo o seu projeto pode contar com recursos relevantes, tais como mais espaço em disco, contas de e-mail e backups.

Porém, não adianta ter todas as funcionalidades que poderão possibilitar que o seu site suporte elevados picos de acesso se ele raramente é visitado.

Pense o quanto deve ser frustrante para um empreendedor que não vê as vendas crescerem na sua loja virtual. Isso é algo tão desanimador quanto o gerente de uma loja física manter as portas abertas do seu empreendimento e não ver ninguém entrar.

Porém, no caso de quem tem um e-commerce ou até mesmo um blog pessoal, existem maneiras de adquirir a tão sonhada presença digital. A maneira mais eficiente para isso é utilizando as técnicas de SEO.

Search Engine Optimization, como essas técnicas são chamadas em inglês, consistem no uso adequado de palavras-chaves em suas postagens. Ao utilizar palavras-chaves referentes ao seu conteúdo, o seu site será bem posicionado nas páginas de resultado de sites como Google, Yahoo e Bing.

A importância do Link Building

Saber como criar um blog não é difícil. Atualmente existe a plataforma WordPress que é intuitiva, responsiva e facilita esse trabalho. O WordPress, inclusive, conta com uma série de plugins que agregam mais funcionalidades para o seu blog.

Como obter backlinks

O Yoast Seo, nesse caso, é um desses plugins. Ele existe para facilitar você a encontrar as palavras-chaves mais adequadas para o seu blog. No entanto, não é apenas de Keywords que se mantém  uma eficiente estratégia de SEO.

É aí que o Link Building entra em ação. O Link Building, que pode ser traduzido como “Construção de Links” e consiste em estratégias que utilizam os chamados backlinks nas práticas de SEO.

Os backlinks são links que conduzem o usuário para uma página no seu site, resultando com isso em tráfego orgânico, mostrando para o Google que a sua página tem relevância.

Por isso, se engana quem pensa que quando o assunto é SEO os backlinks são meros coadjuvantes. Eles indicam para os algoritmos de busca a popularidade e a relevância de um domínio.

Sendo assim, é válido ter em mente que existem os backlinks externos e os backlinks internos. Os externos são links existentes em outros sites e blogs que conduzem o usuário para o seu.

Por outro lado, os backlinks internos consistem em links presentes nas postagens do seu blog que conduzem para postagens mais antigas, sempre com o objetivo de mencionar ou acrescentar mais informações para essas postagens.

Enfim, utilizar backlinks nas suas páginas é como se você estivesse falando com o Google, dizendo “veja como eu também tenho conteúdo relevante”. Sendo assim, para utilizar os backlinks como uma estratégia eficiente, as dicas são:

  • Faça parceria com outros sites e blogs

Entre em contato com outros espaços da internet que possuem uma boa reputação e fazem parte do mesmo nicho que o seu. Ter um link seu em tais sites confere relevância para o seu conteúdo.   

Os Guest Posts, também conhecidos como “Postagens Convidadas” também enriquecem a parceria e traz mais qualidade para os projetos de todos os envolvidos.

  • Trabalhe os Backlinks Internos

Os Backlinks presentes em seu blog são importantes porque induzem o usuário a visitar postagens mais antigas, aumentando o número de visualizações em seu blog. Além disso, eles agregam informações para um determinado assunto.

Mas nem por isso você deve exagerar na dose entupindo as suas postagens com Backlinks a cada parágrafo ou frase.

Lembre-se também de não utilizar “iscas manjadas” para os backlinks, tais como “clique aqui”, ou “visite aqui”. É possível atrair os leitores utilizando frases diretas e de maneira orgânica.

  • Não compre Backlinks

Sim, existe a possibilidade de comprar backlinks. A compra de backlinks definitivamente não é uma boa ideia. É importante que os links sejam compatíveis com o conteúdo que você produz.

Outro detalhe importante é que tal compra não está de acordo com as diretrizes do Google. Por isso, o importante mesmo é você mesmo criar os seus próprios backlinks.

  • Atenção para a origem dos Backlinks

É interessante evitar receber backlinks sempre do mesmo site. O ideal é investir na variedade até porque, acredite, o Google pode comparar perfis de backlinks e considerar a repetição uma estratégia suspeita.

Uma dica para escolher sites relevantes e variados para os seus Backlinks é utilizar a métrica do DA (Domain Authority) que a ferramenta SEMrush disponibiliza.

O fato é que quanto maior o Domain Authority, mais relevância ele vai conferir para o seu. Ah! E se você não sabe o que é o SEMrush, vale mencionar que, de forma bem resumida, ele é um software capaz de analisar a relevância das palavras-chaves.  

Conclusão

O Google é exigente. Ele preza pela qualidade e originalidade de conteúdo para posicionar bem um blog nas suas páginas de resultado.

Portanto, além do cuidado que você deve ter com as palavras-chaves nas suas estratégias de SEO, preste atenção também no uso adequado dos backlinks.



Ler Tutorial

Como criar sites: HTML, CSS e o Desenvolvimento Web

Como criar um siteAté o momento, em nossa seção sobre Como começar a programar, falamos sobre diversas linguagens de programação voltadas para o desenvolvimento desktop, como C, C++, Java e C#.

Agora vamos mostrar outro tipo de desenvolvimento, voltado para a internet.

É o desenvolvimento Web, cuja base é a famosa linguagem de marcação HTML.
Ler Tutorial

Laços WHILE e DO WHILE em Perl - Como usar

Neste tutorial de Perl, vamos dar início ao estudos das estruturas de repetição, também chamadas de laços ou loopings, começando pelo bom e velho while e depois vamos conhecer o do while.

Laço WHILE em Perl

A sintaxe do laço WHILE é a seguinte:
while( expressão ){
   # código a ser executado
   # caso a expressão seja
   # verdadeira
}
Funciona da seguinte maneira: digitamos while, abrimos parêntesis e dentro deste colocamos alguma expressão. Pode ser um valor (como um número, um booleano como verdadeiro ou falso) ou geralmente uma condição, um teste condicional cujo resultado vai ser verdadeiro ou falso.

Caso a expressão final seja verdadeiro, o código dentro das chaves do laço WHILE é executado.
Ao final de cada execução (chamamos cada rodada de execução de iteração), a expressão é avaliada novamente.

Se ela continuar sendo verdadeira, o código continua a ser rodado e rodado e rodado...
O comum é haver alguma coisa dentro do código que uma hora vá mudar o teste condicional que está sendo realizado, para ele virar falso em algum momento e parar a execução do while.

Exemplos de laços WHILE em Perl

Primeiro, vamos aprender a contar de 1 até 100 com o laço WHILE.
Vamos usar a variável $num para armazenar números de 1 até 100, e printar eles na tela.

O código fica assim:
#!/usr/bin/perl

$num=1;

while($num <= 100){
        print $num, "\n";
        $num++;
}    

Primeiro, inicializamos a variável com o valor 1.
O teste que iremos fazer é: $num<=100
Em outras palavras: a variável é menor ou igual a 100? Se sim, rode o código abaixo...

No código dentro da estrutura de repetição, printamos a variável.
Em seguida, temos que incrementar ela em uma unidade, fazemos isso com o operador: ++

Agora, o valor de $num é 2. A expressão do while é avaliada novamente, e ela vai dar verdadeiro de novo. O código vai executar, printar, e incrementar...e isso vai acontecendo até $num ter o valor 100.

Nesse valor, o teste ainda é verdadeiro, o print é realizado e quando a variável é incrementada, passa a valer 101. Então, no próximo teste da expressão da while, o resultado vai ser falso e o looping é encerrado.

Vamos fazer agora o contrário, uma contagem regressiva, exibir de 1000 até 1:
#!/usr/bin/perl

$num=1000;

while($num>0){
        print $num, "\n";
        $num--;
}    

Note que inicializamos agora com o valor 1000, o teste é "enquanto ela for maior que 0" e decrementamos a variável ($num--).

Rapidinho fez essa conta, não foi? Poderoso, esse Perl, não é?

O looping DO WHILE em Perl

O laço WHILE tem uma característica especial: ele só roda a primeira iteração se a expressão contida nele for VERDADEIRA, se for FALSA, o laço nem começa.

Se você quiser que pelo menos uma iteração ocorra, que o teste seja executado pelo menos uma vez, recomendamos usar o DO WHILE. A estrutura dele é bem parecida com o while:
do{
   # código a ser
   # executado
}while(condição);   

Primeiro ele faz a iteração (DO), só depois é que testa a condição.
Se ela for verdadeira, executa de novo o código entre as chaves.

Uma grande utilidade do laço DO WHILE é exibir menus.
Os menus devem ser exibidos ao menos uma vez pro usuário, se ele quiser sair do programa logo de cara, ok, mas ele deve ser exibido pelo menos uma vez.

Vamos ver um exemplo de uma aplicação bancária:
#!/usr/bin/perl

do{
        print "Escolha uma opação:\n";
        print "0. Sair\n";
        print "1. Extrato\n";
        print "2. Saque\n";
        print "3. Transferência\n\n";
        chomp($op = <STDIN>);
}while($op != 0);
Armazenamos a opção do usuário na variável $op.
Se ele digitar 1, 2 ou 3, deve ocorrer alguma coisa específica (chamar as opções de transferência, ir pra tela de saque etc), depois veremos como incrementar isso em Perl.

Depois, o menu é exibido novamente.
E ele só para de ser exibido se você digitar 0, para sair.
Veja o teste: $op != 0
Isso quer dizer: rodar esse looping, enquanto a opção for diferente de 0.

O código a seguir pede a senha para o usuário.
Se for correta, cai no IF e avisamos que está entrando no sistema.
Se for errada, cai no ELSE e avisamos para ele tentar novamente:
#!/usr/bin/perl

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

        if($password eq 'rush2112'){
                print "Entrando no sistema...\n";
        }else{
                print "Senha errada, tente novamente.\n\n";
        }
}while($password ne 'rush2112');
Note que a condição é: enquanto a senha não for igual a "rush2112".
Ou seja, a senha é rush2112, se ele não digitar a senha correta, vai ficar preso eternamente nessa tela pedindo senha...a única maneira de entrar no sistema portanto, é digitando a senha correta.

Veja que colocamos um teste condicional IF ELSE dentro de uma estrutura de controle DO WHILE, isso é bastante comum na programação, os testes, laços e loopings serem 'aninhados' a outras estruturas de controle de fluxo.

Vamos ver agora como imprimir de 1 até 100 com o DO WHILE:
#!/usr/bin/perl

$num=1;

do{
        print $num, "\n";
        
}while(++$num<=100);
Note o comando: ++$num <=100
Isso quer dizer que primeiro a variável $num é incrementada (pois o símbolo ++ veio antes) e só depois que ela é usada para o teste condicional.

Agora faça: $num++ <= 100
O que acontece com o resultado? Por quê?
Explique nos comentários.
Ler Tutorial

GIVEN e WHEN teste condicional em Perl

Neste tutorial de nosso curso de Perl, vamos aprender como usar o teste condicional given.

O teste condicional GIVEN

Se você já estudou outras linguagens de programação, como C, C++ ou Java, por exemplo, deve estar ciente do comando switch, que funciona como um montão de IF e ELSE.

Veja nosso tutorial sobre IF, ELSIF e ELSE em Perl.
Estude novamente o último exemplo, sobre testes condicionais aninhados, onde colocamos diversos IF e ELSE dentro de outros IF e ELSEs.

Basicamente, temos um valor ou expressão, em que queremos pegar seu resultado e comparar com uma série de possibilidades e rodar um determinado código específico para aquele resultado.

A sintaxe do given when é a seguinte:
given (expression){
        when(value1) { #código caso
                       #expression = value1 
                     }
        when(value2) { #código caso
                       #expression = value2 
                     }
        when(value3) { #código caso
                       #expression = value3 
                     }
        default { #código caso
                  #expression seja
                  #qualquer outro valor 
                }
} 

Como funciona GIVEN e WHEN em Perl

Vamos dar para o given alguma expressão, como um teste condicional que resulte em algum valor, booleano ou não, a informação é expression.

Note que cada when tem um valor nele, dentro dos parêntesis de cada um, o Perl sai testando expression com todos esses valores dentro dos when.

Quando ele encontra um value que bate com expression, ou seja, são iguais, ele executa o código daquele when.

Se não encontrar nenhum when com valor que dá 'match' com o valor do given, ele executa o código do default.

Exemplos de uso de GIVEN e WHEN em Perl

O seguinte código pede um número ao usuário, de 1 até 7 e imprime na tela o nome, por extenso, do dia da semana. Caso digite errado, cai no default, que avisa o problema.
#!/usr/bin/perl

use experimental qw( switch );

print "Dia da semana: ";
chomp($day=<STDIN>);

given ($day){
        when(1) {print "Domingo\n";}
        when(2) {print "Segunda-feira\n";}
        when(3) {print "Terça-feira\n";}
        when(4) {print "Quarta-feira\n";}
        when(5) {print "Quinta-feira\n";}
        when(6) {print "Sexta-feira\n";}
        when(7) {print "Sábado\n";}
        default {print "Dia inválido\n";}
}       

Note algumas coisas.
Primeiro, isso é possível fazer com IF e ELSE, porém com eles fica mais longo e desorganizado.
Segundo, o comando GIVEN ainda é experimental, no Perl, portanto, por hora, evite usar sempre que puder.

Vamos criar, agora, um mini tradutor, onde o usuário vai digitar a cor em portuguesa e vamos exibir a tradução, em inglês:
#!/usr/bin/perl

use experimental qw( switch );

print "Cor: ";
chomp($color=<STDIN>);

given ($color){
        when("vermelho") {print "Red\n";}
        when("azul") {print "Blue\n";}
        when("amarelo") {print "Yellow\n";}
        when("verde") {print "Green\n";}   
        default {print "Cor não faz parte do banco de dados\n";}
}       

Foda esse Perl, não é?

Referências

https://www.perlmonks.org/?node_id=1078449
https://www.perltutorial.org/perl-given/

Ler Tutorial

O teste condicional UNLESS em Perl

Nesse tutorial de nosso Curso de Perl, vamos aprender o que é, para que serve e como usar o teste condicional unless em Perl.

unless em Perl

Vimos no tutorial sobre o teste condicional IF que ele executa determinado bloco de código, caso uma expressão ou condição seja verdadeira.

Existe uma estrutura de seleção contrária ao IF, que é o UNLESS, ou seja, ela vai executar determinados comandos se o teste condicional for FALSO.

Ou seja, usamos ele assim:
unless (teste_condicional){
   # código caso o teste
   # seja falso
}
Unless, em inglês, significa: a menos que.

Ou seja, veja a lógica dessa estrutura: a menos que [teste] seja verdadeiro, fazer...
Agora vamos ver alguns exemplos.

Como usar unless em Perl

Crie um script em Perl que solicite a idade ao usuário, para entrar numa festa, e que só permita a entrada se ele tiver 18 anos ou mais.

O código do script é:
#!/usr/bin/perl

print "Idade: ";
chomp($age=<STDIN>);

unless($age>=18){
        print "Você precisa ter 18 anos, pelo menos\n";
}
Agora, a lógica deve funcionar bem em sua cabeça, para você entender o conceito e ser um bom programador. O que esse código significa é:
print essa mensagem, a menos que a condição seja verdadeira

Ou seja, se a condição for falsa, é pra rodar o código do unless.
É pra rodar, a menos que seja verdade, ou seja, se for verdade não roda, só roda se for falso, ao contrário do IF que só roda se for verdade.

Um pouco confuso no começo, mas com calma você pega.

unless e else em Perl

E, assim como no nosso amado IF e ELSE, também existe o UNLESS E ELSE.
Hora, se o teste for verdadeiro cai no IF e se for falso cai no ELSE, no caso do unless é o contrário: se o teste for falso, cai no UNLESS e se for verdadeiro, cai no ELSE.

Vamos deixar o script anterior mais completo:
#!/usr/bin/perl

print "Idade: ";
chomp($age=<STDIN>);

unless($age>=18){
        print "Você precisa ter 18 anos, pelo menos\n";
}else{
        print "Pode entrar!\n";
}
Prontinho, agora se tiver 18 anos ou mais, avisa que pode entrar.
Se tiver menos que 18, avisa que não pode entrar.

Exemplo de uso de unless

Vamos fazer agora o exemplo do script que pede a senha para o usuário, se ela for diferente de 'rush2112', avisa que o hacker vai ser preso. Se for verdade, avise que está entrando no sistema.

Veja como fica o código:
#!/usr/bin/perl

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

unless($password eq 'rush2112'){
        print "Senha errada! Pegamos você, hacker...\n";
}else{
        print "Senha correta, entrando no sistema...\n";
}
Note que usamos o operador de comparação de igualdade, eq, de strings.
Se for falso, ou seja, se a senha for diferente de 'rush2112', dizemos que pegamos o hacker.

Poderíamos fazer ao contrário, usando o operador ne (not equal), de desigualdade, veja:
#!/usr/bin/perl

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

unless($password ne 'rush2112'){
        print "Senha correta, entrando no sistema...\n";
}else{
        print "Senha errada! Pegamos você, hacker...\n";
}
Ou seja, se não for desigual, é porque é igual a senha está correta.

É o contrário do anterior, e o UNLESS é sempre o contrário do IF.
Veja que não existe certo nem errado, melhor nem pior, código é como impressão digital, cada um tem o seu estilo próprio, veja o que mais faz sentido pra você.

Eu, particularmente, ainda prefiro usar o IF.
Você pode, inclusive, usar UNLESS com ELSIF, veja:
https://beginnersbook.com/2017/02/unless-elsif-else-statement-in-perl/
Ler Tutorial

IF / ELSE e IF/ELSIF/ELSE em Perl

Neste tutorial de nosso curso de Perl, vamos aprender a usar as estruturas de controle:

  • IF / ELSE
  • IF / ELSIF / ELSE

O comando IF e ELSE

Em nosso tutorial passado, sobre o teste condicional IF, aprendemos que essa instrução permite que determinado trecho do código (dentro do IF), só seja executado mediante um teste, onde uma expressão deve resultar no valor VERDADE.

Porém, o código só executa se o teste for verdadeiro.
E se for falso? É aí que entra o comando ELSE.
O escopo dessa estrutura é:
if ( expressão ){
   # código caso a expressão
   # seja verdadeira
}else{
   # código caso a expressão
   # seja falsa
}

Exemplo de IF e ELSE em Perl

Vamos refazer o exercício:

  • 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 adicionar um comando else, que é acionado quando a pessoa tem menos de 18 anos, veja como fica:
#!/usr/bin/perl

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

if($age>=18){
    print "Você é de maior, pode entrar\n";
}else{
    print "Você é de menor, não pode entrar\n";
}
Antes só aparecia uma mensagem para o usuário se ele fosse de maior, pois entrava no IF.
Agora, se ele for de menor, vai cair no ELSE e exibimos outra mensagem.

Veja que passamos a ter maior 'controle' sobre o fluxo de execução de nossos scripts em Perl.
Vamos refazer o outro exercício:

  • 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.

#!/usr/bin/perl

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

if($password eq 'rush2112'){
    print "Senha correta, entrando no sistema...\n";
}else{
    print "Senha incorreta! Invasão cancelada\n";
}
Se você errar a senha, o script vai te pegar!

IF e ELSE aninhados

Uma técnica bastante comum em programação é usar teste condicional dentro de outros testes condicionais. Vamos criar um script que recebe dois números e diz qual o maior e o menor, ou se são iguais.

Primeiro, testamos se $a é maior $b, se for, ok, cai no primeiro IF e acaba.
Se não for, vai cair no ELSE.

Nesse ELSE, já sabemos que $a não é maior que $b, então ou são iguais ou $b é maior que $a.
Agora, lá dentro do ELSE, vamos usar outra estrutura, um IF perguntando se $b é maior que $a.
Se for, avisa isso e encerra o programa.

Se $b não for maior que $a (e $a já não era maior que $b), então são números iguais, e essa possibilidade cai num ELSE interno ao primeiro ELSE.

Veja como fica o código:
#!/usr/bin/perl

print "Primeiro numero: ";
chomp($a=<STDIN>);

print "Segundo numero : ";
chomp($b=<STDIN>);

if($a > $b){
    print "$a é maior que $b\n";
}else{
    if($b > $a){
        print "$b é maior que $a\n";
    }else{
        print "$a é igual a $b\n";
    }
}
O IF pode existir sozinho, como vimos no tutorial passado.
Mas para cada ELSE, existe seu IF.

Colocamos o código bem indentado, ou seja, espaçado de modo a vermos os pares de IF e ELSE.

IF / ELSIF / ELSE

Crie um programa que pede uma nota de 0 até 10 ao usuário.
Se for 9 ou mais, diga que ele tirou nota A.
Se for de 8 até 9, diga que tirou nota B.
Se for de 7 até 6, diga que tirou nota C.
Se for de 6 até 7, diga que tirou nota D.
Abaixo de 6 tira nota F.

Primeiro, testamos se a nota é maior ou igual a nove. Se for, damos nota A.
Se não for maior ou igual a 9, é porque é menor que 9, então vamos testar se é maior que 8, se for tirou nota B.

Se não for, é porque tirou abaixo de 8.
Testamos agora se é maior que 7, se for ele tirou nota C.

Se não é maior que 7, é menor. Então testamos se é maior que 6, se for dizemos que tirou nota D.
Por fim, se não cair em nenhum caso acima, cai no ELSE final e dizemos que tirou nota F, pois tirou menos que 6.

Veja como fica o código:
#!/usr/bin/perl

print "Sua nota: ";
chomp($grade=<STDIN>);

if($grade>=9){
    print "Nota A, parabéns.\n"
}else{
    if($grade>=8){
        print "Nota B\n";
    }else{
        if($grade>=7){
            print "Nota C\n";
        }else{
            if($grade>=6){
                print "Nota D\n";
            }else{
                print "Nota F\n";
            }
        }
    }
}
Note como ele vai 'quebrando' e indo pra direita.
Num script maior e mais complexo, isso vai ficando horrendamente feio.

Veja que o trecho: else{ if ... acontece mais de uma vez.
Podemos abreviar essas linhas para simplesmente: elsif (expressão)

Vamos ver como nosso código fica usando ELSIF:
#!/usr/bin/perl

print "Sua nota: ";
chomp($grade=<STDIN>);

if($grade>=9){
        print "Nota A, parabéns.\n"
}elsif($grade>=8){
        print "Nota B\n";
}elsif($grade>=7){
        print "Nota C\n";
}elsif($grade>=6){
        print "Nota D\n";
}else{
        print "Nota F\n";
}
Bem mais bonito de se ver, entender e organizado, não concorda?
Ler Tutorial

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.
Ler Tutorial

Tutoriais de Programação