Sintaxe Perl

Estruturas de sintaxe básicas do Perl

Comentários em Perl

Comentários são blocos de texto que não são interpretados pela linguagem de programação. Eles são utilizados para documentar o código, explicar o que está sendo feito, ou para desabilitar uma parte do código.

# Isto é um comentário de uma linha

=pod
Isto é um comentário
de múltiplas linhas
=cut

Declaração de variáveis em Perl

# Variável escalar
$var = "Perl";

Declaração de arrays em Perl

# Array
@array = ("Foo", "Bar", "Baz");

Ler input do usuário, atribuir a uma variável e depois imprimir na tela em Perl

# Ler um input do usuário e guardar na variável nome
print "Qual é o seu nome? ";
$nome = <>;

# Remover a quebra de linha do final da variável nome
chomp $nome;

# Imprimir a variável nome
print "Olá, $nome!\n";

Estruturas de seleção em Perl

if em Perl

# Testar uma expressão usando if
if (EXPRESSÃO) {
  # Executar este bloco se a expressão for verdadeira
}

# Testar uma expressão usando if e else
if (EXPRESSÃO) {
  # Executar este bloco se a expressão for verdadeira
} else {
  # Executar este bloco se a expressão for falsa
}

# Testar uma expressão usando if, elsif e else
if (EXPRESSÃO1) {
  # Executar este bloco se a expressão1 for verdadeira
} elsif (EXPRESSÃO2) {
  # Executar este bloco se a expressão2 for verdadeira e a expressão1 for falsa
} else {
  # Executar este bloco se nenhuma das expressões anteriores for verdadeira
}

switch em Perl

# Importar o módulo Switch
use Switch;

# Testar o valor de uma variável usando switch
switch ($VARIÁVEL) {
  case VALOR1 {
    # Executar este bloco se a variável for igual a VALOR1
  }
  case VALOR2 {
    # Executar este bloco se a variável for igual a VALOR2
  }
  else {
    # Executar este bloco se a variável não for igual a nenhum dos valores anteriores
    # Este é o caso default
  }
}

Estruturas de repetição em Perl

for em Perl

# Iterar sobre uma lista de valores com um passo usando for
for ($i = 1; $i <= 10; $i += PASSO) {
  # Executar este bloco para cada valor de i
}

while em Perl

# Executar um bloco de código enquanto uma expressão for verdadeira usando while
while (EXPRESSÃO) {
  # Executar este bloco enquanto a expressão for verdadeira
}

do while em Perl

# Executar um bloco de código pelo menos uma vez e enquanto uma expressão for verdadeira usando do-while
do {
  # Executar este bloco pelo menos uma vez
} while (EXPRESSÃO);

foreach em Perl

# Iterar sobre uma lista
@lista = (1, 2, 3, 17);
foreach $valor (@lista) {
  print "O valor atual é $valor\n";
}

# Iterar sobre um hash
%hash = (
  "um" => 1,
  "dois" => 2,
  "três" => 3,
  "dezessete" => 17
);
foreach $chave (keys %hash) {
  print "\$hash{$chave} => $hash{$chave}\n";
}

Mais detalhes e exemplos em Perl for loop - perlmaven.com.

Funções em Perl

# Declarar uma função chamada soma que recebe dois parâmetros
sub soma {
  my ($a, $b) = @_; # Atribui os elementos do array @_ às variáveis locais a e b
  return $a + $b; # Retorna a soma de a e b
}

# Declarar uma função chamada multiplica que recebe dois parâmetros
sub multiplica {
  my ($a, $b) = @_; # Atribui os elementos do array @_ às variáveis locais a e b
  $a * $b; # Retorna o produto de a e b sem usar o comando return
}

# Chamar as funções e imprimir seus valores de retorno
print "O resultado da soma é " . soma(3, 4) . "\n"; # Imprime "O resultado da soma é 7"
print "O resultado da multiplicação é " . multiplica(3, 4) . "\n"; # Imprime "O resultado da multiplicação é 12"

Mais detalhes e exemplos em Perl Functions - Tutorialspoint.

Fazendo requisições HTTP no Perl

# Requisição GET
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $url = "https://example.com";
my $response = $ua->get($url);
if ($response->is_success) {
  print $response->decoded_content;
}
else {
  die $response->status_line;
}

# Requisição POST
use LWP::UserAgent;
use HTTP::Request::Common qw(POST);
my $ua = LWP::UserAgent->new;
my $url = "https://example.com";
my $data = ["param1" => "value1", "param2" => "value2"];
my $response = $ua->request(POST $url, Content => $data);
if ($response->is_success) {
  print $response->decoded_content;
}
else {
  die $response->status_line;
}
Renato Monteiro Batista
Renato Monteiro Batista
Engenheiro de Computação
https://renato.ovh
    
Renato Monteiro Batista

resultados encontrados ""

    Nenhum resultado encontrado ""