ϟ●•LσяdKиσw•●ϟ ϟ●•LσяdKиσw•●ϟ  • 29.04.12 10:45

Mini-Curso de Perl [PARTE 1] Empty Mini-Curso de Perl [PARTE 1] 29.04.12 10:45

Bom,esse é meu primeiro tutorial no forum,então irei ensino um pouco sobre uma linguagem de programação que eu gosto muito!

1. Introdução
Perl é uma scripting language. O código é escrito textualmente em ficheiros e interpretado por um programa
(o interpretador perl). PERL significa “Practical Extraction and Report Language” e foi desenvolvido
por Larry Wall, para executar tarefas difíceis de implementar em shell, mas que não justificavam a
sua codificação em C. Apresenta semelhanças com C, awk, sed e sh.
Os seus principais pontos fortes são:
• facilidade de tratamento de texto (text massaging)
• alocação de memória automática
• arrays indexados e associativos
Desvantagens:
• o código é difícil de ler/perceber e pode tornar-se demasiado obscuro
• não tem suporte fácil para estruturas (ver “Truques e dicas”, §12, p16).
Em termos de comunidade, existe um excelente suporte, com várias centenas de módulos escritos, bem
como uma diversidade de aplicações já feitas.
1.1. Fazer “Hello World!”
print "Hello World!\n";
A expressão de cima pode ser executada de várias formas:
(1) Linha de comando:
perl -e ’print "Hello World!\n";’
(2) Script file:
$ vi hello.pl
[edita-se o ficheiro, e insere-se]
print "Hello World!\n";
$ perl hello.pl
(3) Tornar o próprio ficheiro executável (apenas em Unix):
$ vi hello.pl
[edita-se o ficheiro, e insere-se]
#! /usr/bin/perl
print "Hello World\n";
$ chmod +x hello.pl
$ ./hello.pl
1.2. Pequeno resumo
• perl executa statements
• statements são separados por “;”
• comentários começam em “#”, e terminam no fim de linha
• blocos: { BLOCO }
• variáveis, tipos de dados:
$a escalar, pode conter strings ou valores numéricos
@a array: 0 ou mais escalares, indexados por inteiros
- 1 -
$a[0] primeiro escalar que @a contem
%a hash: contem 0 ou mais escalares, indexados por strings
$a{’z’} valor correspondente à chave ’z’
dados numéricos: inteiros ou reais (1234, 5.3, 2e3)
strings: qualquer sequência de texto, ou binária (’xpto’, "valor de \$a= $a.")
• ciclos, control-flow
while (cond) { code }
executa code enquanto cond for verdade. Faz primeiro o teste a cond.
do { code } while (cond)
executa code enquanto cond for verdade . Executa primeiro code.
for (A; B; C) { code }
equivale a: “A; while (B) { code ; C }”, excepto se last/next for usado.
if (cond) { code }
executa code (uma vez) se cond for verdade.
if (cond) { code-true } else { cond-false }
executa code-true se cond for verdade, caso contrário executa code-false.
if (cond1) {A1} elsif (cond2) {A2} ...
executa a1 se cond1 for verdade, caso contrário executa cond2 se a2 for verdade, etc...
operações nas condições:
== != >= > < <= testes para numéricos
eq ne ge gt lt le testes para strings
(igual, diferente, maior ou igual, maior, menor, menor ou igual, respectivamente)
last sai do ciclo mais interno
next salta para a próxima iteração do ciclo mais interno
redo salta para o início do ciclo mais interno, sem reavaliar a condição
LABEL:
coloca uma marca no código
goto LABEL;
salta para uma marca definida, saindo de qualquer ciclo em que se encontre.
• funções/rotinas.
definição:
sub func {
my $arg1 = $_[0];
my $arg2 = $_[1]; ...
# code
return $value;
}
invocação:
$x = func("arg1", 2);

Ná próximo tópico irei ensinar sobre váriaveis,aguardem...

TioBlitz TioBlitz  • 01.05.12 10:49

Mini-Curso de Perl [PARTE 1] Empty Re: Mini-Curso de Perl [PARTE 1] 01.05.12 10:49

Poderia colocar em spoiler e colocar em negrito as partes mais importantes , para melhor visualização do leitor

Att,Wallace
Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.