Mostrando postagens com marcador Introdução ao Perl. Mostrar todas as postagens
Mostrando postagens com marcador Introdução ao Perl. Mostrar todas as postagens

Variáveis em Perl - O que são e Como Usar

Neste tutorial de Perl, vamos aprender o que são variáveis, para que servem, como funcionam e como usar. Além disso, vamos conhecer o vigil, símbolo $, e o operador de atribuição =
Baixar apostila de Perl em PDF
Fazer download da apostila em PDF


Armazenando Informações em Perl

Quando você seleciona um trecho de um texto em algum editor, você pode colar ele depois quantas vezes quiser. Se o editor ficar ligado 10 anos, você ainda pode colar depois de 10 anos.

Quando você joga um game e perde, ao voltar, você volta pra mesma fase, com o mesmo nível e itens que coletou.

Quando você ouve uma música no celular, para de ouvir, e depois volta a ouvir (não importa quanto tempo depois), você volta no mesmo exato ponto de antes.

E aí, o editor adivinha o que você copiou? O aplicativo de música adivinha que música e onde você parou de ouvir? Óbvio que não, se eles sabem dessas informações é porque elas foram armazenadas, foram salvas, guardadas em algum lugar.

Armazenamento e uso de informações salvas são um dos pilares da programação, e vamos aprender agora, em programação Perl, como armazenar informações para usar no decorrer de nossos scripts.

Futuramente vamos aprender como armazenar valores em arquivos de texto, por exemplo.
Assim, você salva informações que ficarão permanentemente gravadas em sua máquina, mesmo após o término da execução do seu script.

Variável em Perl: como declarar e inicializar

Vamos primeiro aprender a armazenar informações de maneira temporária, ou seja, durante a duração da execução de nossos scripts em Perl, e somente informações do tipo 'escalares' (vamos estudar outros tipos de informações posteriormente, como Hashes e Arrays).

Essa armazenagem de informações é por meio das variáveis.
Variável nada mais é do que isso: um troço que armazena dados.

Toda variável do tipo escalar (como números e strings), tem um nome e começa pelo símbolo $ (vigil). Diferente de outras linguagens, no Perl você não precisa declarar previamente as variáveis, pode ir logo usando elas, sem perda de tempo, e nem precisa dizer que tipo de informação quer armazenar.

Por exemplo, vamos armazenar o número 2112 na variável de nome numero:
  • $numero = 2112;

Pronto, só isso. O símbolo $, um nome, o operador de atribuição (=) e a informação que você desejar armazenar inicialmente.

Mas qual a utilidade disso? Qual o propósito de se usar variáveis em Perl?
Let's descobrir.

Variáveis: Para que servem ?

Quando declaramos uma variável, o Perl vai lá e reserva um bloco na memória do seu computador.
Por exemplo, ele pode reservar o bloco de número: 0x34671FF

Mas poxa, programação é pra ser fácil e simples...ficar usando esse troço de número feio não dá, concorda? E se ao invés de chamarmos 0x34671FF pudéssemos chamar por um nome mais fácil, que a gente escolhe?

Que tal chamar de $numero ?
Toda vez que usarmos a variável $numero, o Perl entende que você tá se referindo ao valor armazenado na posição 0x34671FF da sua memória.

Variável em Perl: Como usar

Declare e inicialize uma variável de nome idade com o valor de sua idade.
Por exemplo:
  • $idade = 20;

Agora vamos fazer um script que imprime na tela o texto: "Você tem [sua idade] anos de idade".
Em Perl, ele fica assim:
#!/usr/bin/perl

$idade=20;
print "Você tem $idade anos de idade\n";
Veja que o não saiu "$idade" na tela, e sim um número.
Ou seja, o Perl interpretou, ele pensa assim:
- "Opa! Aqui tem um troço começando com o símbolo $, então é uma variável...ao invés de imprimir o nome da variável, vou imprimir o valor que ela armazena...deixa eu buscar aqui o que tem lá nesse endereço de memória".

E pimba, ele imprime o número que você armazenou inicialmente na variável:
Curso de Perl online grátis, completo, com apostila para download em PDF

Estamos interpolando strings e variáveis, podemos fazer isso usando o operador de concatenação também:
#!/usr/bin/perl

$age=20;
print "Sua idade é: ".$age."\n";
Note que não precisamos colocar as aspas entre o nome da variável.

Agora vamos armazenar uma string dentro de uma variável.
Coloque seu nome na variável $name, por exemplo:
$name = 'Neil Peart';

Agora um script que te dá bom dia:
#!/usr/bin/perl

$name = 'Neil Peart';
print "Bom dia, $name\n";
Podemos fazer assim também:
#!/usr/bin/perl

$name = 'Neil Peart';
print "Bom dia, ", $name;
E até assim:
#!/usr/bin/perl

$name = 'Bom dia, Neil Peart';
print $name;
Esse Perl é realmente muito flexível, não acha?

Exercícios de variáveis em Perl

"Escreva um script que tem uma variável que armazena um valor numérico qualquer, e exiba o dobro dele."

Vamos armazenar o número 2112 na variável $num.
Na variável $doub, armazenamos o dobro da $num (basta multiplicar essa por dois).

Veja como fica nosso script:
#!/usr/bin/perl

$num = 2112;
$doub = 2 * $num;
print "O dobro de ", $num, " é ", $doub;
"Faça um script que armazena os números 21 e 12 em duas variáveis diferentes e exiba a soma deles"

Vamos armazenar nas variáveis $num1 e $num2, cada valor.
Na variável $soma vamos armazenar a soma ($num1+$num2), veja:
#!/usr/bin/perl

$num1 = 21;
$num2 = 12;
$soma = $num1 + $num2;
print "Soma: $soma";
Você também podia fazer diretamente no print:
#!/usr/bin/perl

$num1 = 21;
$num2 = 12;
print "Soma: ", ($num1+$num2);
A maneira acima é mais eficiente, pois ela declara apenas duas variáveis.
Podemos também usar só uma variável, inicializando  já com a soma diretamente:
#!/usr/bin/perl

$num = 21+12;
print "Soma: $num";
Entende agora porque o lema do Perl é "sempre tem várias maneiras de fazer a mesma coisa" ?

"Escreva um script que inicializa com duas variáveis com dois valores. Em seguida, mostre a soma, subtração, multiplicação, divisão e resto da divisão do primeiro pelo segundo número."

Essa deixamos com vocês, escreva seu script nos comentários.

Números e Operações Matemáticas em Perl

Neste tutorial de nossa apostila Perl Progressivo, vamos aprender como lidar com números e as operações matemáticas.

Baixar apostila de Perl em PDF
Baixar e estudar pela apostila em PDF

Tipos de dados numéricos em Perl

O Perl suporta os mais variados tipos de valores numéricos, como por exemplo:
2112                     # inteiro
-2112                    # inteiro negativo
12345.67              # float, fluatuante ou decimal
6.02E23               # em notação científica
0xffff                   # hexadecimal, começa sempre com 0x
0377                    # octal , começa sempre com 0
0b10011101        # binário, começa com 0b
4_294_967_296  # números grandes organizados por underline

Internamente, porém, o Perl trabalha como se todos fossem do tipo float, com precisão dupla.
Ou seja, não tem um valor 7 e sim um 7.0, por exemplo.
Se você já estudou linguagens como C, C++ ou Java, por exemplo, é como se o Perl tratasse todos os números como sendo do tipo double.

E note bem isso: em valores float (decimais), usamos o ponto e não a vírgula para separar a unidade da parte decimal.

Operações Matemáticas em Perl

O computador nada mais é que uma calculadora, bem rápida e que faz vários cálculos ao mesmo tempo. Então, vamos usar um pouco o Perl pra fazer nossa máquina calcular ?

As principais operações matemáticas são:
  • adição: usando o operador +
  • subtração: usando o operador -
  • multiplicação: usando o operador * (asterisco e não o x)
  • divisão: usando o operador /
  • exponenciação: usando o operador **
  • resto da divisão ou módulo: usando o operador %

Vamos fazer um script simples que pega dois números, 21 e 12, e faz todas essas operações:
#!/usr/bin/perl
print 21 + 12, "\n"; # Adição
print 21 - 12, "\n"; # Subtração
print 21 * 12, "\n"; # Multiplicação
print 21 / 12, "\n"; # Divisão
print 21 **12, "\n"; # Exponenciação
print 21 % 12, "\n"; # Resto da divisão
O resultado vai ser:
Operações matemáticas no Perl

Veja que o Perl imprimiu diretamente o resultado das operações, ele leu e interpretou que aquilo eram operações e resolveu elas, mostrando o valor resultante.

Lembrando que resto da divisão é aquele 'resto' que sobrava, quando você fazia continhas de divisão na escola:

Curso de Perl online grátis


Note que ao final de cada linha tem um símbolo de jogo da velha # e algo escrito.
O nome disso é comentário, serve única e exclusivamente para programadores lerem, o Perl ignora totalmente isso, ok? É apenas para explicar e organizar melhor os scripts em Perl.

Precedência de Operadores

Calcule, de cabeça, a seguinte operação:

  • 1 + 2 * 3


Para alguns o resultado pode ser 9: 1+2=3, 3*3=9
Para outros, pode ser 7: 2*3 = 6, 1+6=7

E aí, qual o certo?
Vamos deixar o Perl resolver:
#!/usr/bin/perl
print (1 + 2 * 3);
E o resultado que ele mostra é 7. E o motivo é a precedência de operadores.

O operador de multiplicação tem precedência maior na operação.
Agora crie um script para calcular:

  • (1+2)*3

#!/usr/bin/perl
print ( (1 + 2)*3 );
Veja que o resultado foi 9. Mudou só por conta de um par de parêntesis, confere?
Isso porque os parêntesis tem uma precedência maior que o operador de multiplicação.

Existe uma tabela de importância de precedência de operadores.
Ela é (de cima pra baixo, e na mesma linha da esquerda pra direita):
( )
++ --
**
*   /   %
+   -
<   <=   >   >=
==   !=
=   +=   -=   *=   /=   %=   **=

Os operadores que você não conhece, não se preocupe, vamos estudar com calma ao longo de nossa apostila de Perl.

Imprimindo informações na Tela: PRINT e SAY em Perl

Neste tutorial de Perl, vamos aprender como exibir informações no terminal de comando, usando as funções print e say, do Perl.

Baixar apostila de Perl em PDF
Baixar e estudar pela apostila em PDF

Imprimindo informações no terminal de comando

print, em inglês, significa imprimir.

Imprimir, pra gente, lembra muito fazer uma impressão, numa impressora, né?
Na verdade, é um termo mais amplo, significa exibir.

Assim, quando falamos em imprimir ou printar, estamos falando em simplesmente mostrar alguma informação, um texto, um número ou qualquer coisa.

É a primeira maneira que aprenderemos sobre como trocar informações entre a máquina e a pessoa que está utilizando ela. Todos os comandos e operações, ocorrem 'escondidos', no hardware de seu computador, então usamos algum comando que exibe pra gente esses resultados.

As maneiras mais comuns de exibir dados de informação são através das função print e say, em Perl, que simplesmente mostram na tela do terminal de comando as informações que quisermos, vamos lá aprender como usá-las ?

A função print do Perl

Essa função (comando que faz alguma coisa específica) nós já usamos no tutorial de como programar o script Olá, mundo! em Perl.

Basta digitar o comando print e escrever qualquer coisa entre aspas duplas ou simples e terminar o comando com o ponto-e-vírgula ;
Prontinho. Vai aparecer na tela o que você digitou entre as aspas.

Esses textos, em Perl, são chamados de strings.

Teste:
#!/usr/bin/perl
print "Curso Perl Progressivo";
O resultado vai ser:
Curso Perl Progressivo

Porém ficou feio, pois ficou 'colado' com uma linha de texto do terminal de comando.

Caractere de quebra de linha: \n

Parece resolvermos esse problema, basta darmos um 'enter' dentro da string.

O enter, em computação, é simbolizado por: \n
Sempre que o Perl lê esse comando, ele dá um pulo, uma quebra de linha.

Experimente:
#!/usr/bin/perl
print "Curso Perl Progressivo \n";
O resultado foi o que vimos no tutorial passado, bem mais bonitinho e organizado, não é?

E para exibir o resultado abaixo:
Curso de Perl online grátis

Como você programaria o script em Perl abaixo ?
Você pode fazer tanto assim:
#!/usr/bin/perl
print "Bem vindos ao curso: \n";
print "Perl Progressivo \n";
Como tudo em uma linha só, veja:
#!/usr/bin/perl
print "Bem vindos ao curso:\nPerl Progressivo\n";

A função SAY do Perl

Programador é um bicho preguiçoso. Gosta de fazer tudo da maneira mais rápida, simples e econômica possível, quanto menos trabalho, melhor.

Como se a função print já não fosse simples o bastante, inventaram a função say.
Troque print por say e veja o resultado:
#!/usr/bin/perl
use v5.010;
say "Curso Perl Progressivo";
Notou?
Ela, automaticamente, já dá a quebra de linha ao final, não precisa usar o caractere \n de quebra de linha.
Bacana, não?

Exercícios de PRINT em Perl

1. Frase na tela - Implemente um programa que escreve na tela a frase "O primeiro programa a gente nunca esquece!".

2. Etiqueta - Elabore um programa que escreve seu nome completo na primeira linha, seu endereço na segunda, e o CEP e telefone na terceira.

3. Letra de música - Faça um programa que mostre na tela uma letra de música que você gosta (proibido letras do Justin Bieber).

4. Mensagem - Escreva uma mensagem para uma pessoa de quem goste. Implemente um programa que imprima essa mensagem, tire um print e mande pra essa pessoa. Diga que foi um vírus que algum hacker instalou em seu computador.

5. Ao site - Faça um programa que mostre na tela o que você deseja fazer usando seus conhecimentos de Perl.



6. Quadrado - Escrever um programa que mostre a seguinte figura:

XXXXX
X   X
X   X
X   X
XXXXX

7. Tabela de notas - Você foi contrato por uma escola pra fazer o sistema de boletim dos alunos. Como primeiro passo, escreva um programa que produza a seguinte saída:
ALUNO(A)          NOTA
=========         =====
ALINE              9.0  
MÁRIO              DEZ
SÉRGIO             4.5    
SHIRLEY            7.0

8. Letra grande - Elabore um programa para produzir na tela a letra P, de Perl Progressivo. Se fosse
‘L’, seria assim:
L
L
L
LLLLL

9. Menu - Elabore um programa que mostre o seguinte menu na tela:
Cadastro de Clientes
0 - Fim
1 - Inclui
2 - Altera
3 - Exclui
4 - Consulta
Opção: 

10. Pinheiro  - Implemente um programa que desenhe um "pinheiro" na tela, similar ao abaixo.
Enriqueça o desenho com outros caracteres, simulando enfeites.
       X
      XXX
     XXXXX
    XXXXXXX
   XXXXXXXXX
  XXXXXXXXXXX
 XXXXXXXXXXXXX
XXXXXXXXXXXXXXX
       XX
       XX
      XXXX

Escreva seus scripts nos comentários!