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;
}
Links úteis
Renato Monteiro Batista
Engenheiro de Computaçãohttps://renato.ovh |