Perl - Visão geral da sintaxe

Perl empresta sintaxe e conceitos de muitas linguagens: awk, sed, C, Bourne Shell, Smalltalk, Lisp e até inglês. No entanto, existem algumas diferenças definidas entre os idiomas. Este capítulo foi projetado para ajudá-lo a entender rapidamente a sintaxe esperada em Perl.

Um programa Perl consiste em uma sequência de declarações e instruções, que são executadas de cima para baixo. Loops, sub-rotinas e outras estruturas de controle permitem que você pule dentro do código. Cada instrução simples deve terminar com um ponto e vírgula (;).

Perl é uma linguagem de formato livre: você pode formatar e indentá-la como quiser. O espaço em branco serve principalmente para separar tokens, ao contrário de linguagens como Python, onde é uma parte importante da sintaxe, ou Fortran, onde é imaterial.

Primeiro Programa Perl

Programação de modo interativo

Você pode usar o interpretador Perl com -eopção na linha de comando, que permite executar instruções Perl na linha de comando. Vamos tentar algo em $ prompt da seguinte forma -

$perl -e 'print "Hello World\n"'

Esta execução produzirá o seguinte resultado -

Hello, world

Programação em modo script

Assumindo que você já está no prompt $, vamos abrir um arquivo de texto hello.pl usando o editor vi ou vim e colocar as seguintes linhas dentro do seu arquivo.

#!/usr/bin/perl

# This will print "Hello, World"
print "Hello, world\n";

Aqui /usr/bin/perlé o binário do interpretador perl. Antes de executar seu script, certifique-se de alterar o modo do arquivo de script e dar privilégio de execução, geralmente uma configuração de 0755 funciona perfeitamente e, finalmente, você executa o script acima da seguinte maneira -

$chmod 0755 hello.pl
$./hello.pl

Esta execução produzirá o seguinte resultado -

Hello, world

Você pode usar parênteses para argumentos de funções ou omiti-los de acordo com seu gosto pessoal. Eles são necessários apenas ocasionalmente para esclarecer as questões de precedência. As duas declarações seguintes produzem o mesmo resultado.

print("Hello, world\n");
print "Hello, world\n";

Extensão de arquivo Perl

Um script Perl pode ser criado dentro de qualquer programa editor de texto simples normal. Existem vários programas disponíveis para cada tipo de plataforma. Existem muitos programas projetados para programadores disponíveis para download na web.

Como uma convenção Perl, um arquivo Perl deve ser salvo com uma extensão de arquivo .pl ou .PL para ser reconhecido como um script Perl em funcionamento. Os nomes dos arquivos podem conter números, símbolos e letras, mas não devem conter espaços. Use um sublinhado (_) em lugares de espaços.

Comentários em Perl

Os comentários em qualquer linguagem de programação são amigos dos desenvolvedores. Os comentários podem ser usados ​​para tornar o programa amigável e são simplesmente ignorados pelo interpretador, sem afetar a funcionalidade do código. Por exemplo, no programa acima, uma linha começando com hash# é um comentário.

Simplesmente dizer que os comentários em Perl começam com um símbolo hash e vão até o final da linha -

# This is a comment in perl

As linhas que começam com = são interpretadas como o início de uma seção de documentação incorporada (pod) e todas as linhas subsequentes até o próximo = corte são ignoradas pelo compilador. A seguir está o exemplo -

#!/usr/bin/perl

# This is a single line comment
print "Hello, world\n";

=begin comment
This is all part of multiline comment.
You can use as many lines as you like
These comments will be ignored by the 
compiler until the next =cut is encountered.
=cut

Isso produzirá o seguinte resultado -

Hello, world

Espaços em branco em Perl

Um programa Perl não se preocupa com espaços em branco. O programa a seguir funciona perfeitamente -

#!/usr/bin/perl

print       "Hello, world\n";

Mas se os espaços estiverem dentro das strings entre aspas, eles serão impressos como estão. Por exemplo -

#!/usr/bin/perl

# This would print with a line break in the middle
print "Hello
          world\n";

Isso produzirá o seguinte resultado -

Hello
          world

Todos os tipos de espaços em branco como espaços, tabulações, novas linhas, etc. são equivalentes para o intérprete quando são usados ​​fora das aspas. Uma linha contendo apenas espaços em branco, possivelmente com um comentário, é conhecida como uma linha em branco e o Perl a ignora totalmente.

Aspas simples e duplas em Perl

Você pode usar aspas duplas ou aspas simples em strings literais da seguinte maneira -

#!/usr/bin/perl

print "Hello, world\n";
print 'Hello, world\n';

Isso produzirá o seguinte resultado -

Hello, world
Hello, world\n$

Há uma diferença importante entre aspas simples e duplas. Apenas aspas duplasinterpolatevariáveis ​​e caracteres especiais, como novas linhas \ n, enquanto aspas simples não interpola nenhuma variável ou caractere especial. Confira o exemplo abaixo onde estamos usando $ a como uma variável para armazenar um valor e posteriormente imprimir esse valor -

#!/usr/bin/perl

$a = 10;
print "Value of a = $a\n";
print 'Value of a = $a\n';

Isso produzirá o seguinte resultado -

Value of a = 10
Value of a = $a\n$

Documentos "Aqui"

Você pode armazenar ou imprimir texto multilinha com grande conforto. Até você pode fazer uso de variáveis ​​dentro do documento "aqui". Abaixo está uma sintaxe simples, verifique cuidadosamente se não deve haver espaço entre o << e o identificador.

Um identificador pode ser uma palavra simples ou algum texto entre aspas, como usamos o EOF abaixo. Se o identificador estiver entre aspas, o tipo de citação que você usa determina o tratamento do texto dentro do documento here, assim como nas citações regulares. Um identificador sem aspas funciona como aspas duplas.

#!/usr/bin/perl

$a = 10;
$var = <<"EOF";
This is the syntax for here document and it will continue
until it encounters a EOF in the first line.
This is case of double quote so variable value will be 
interpolated. For example value of a = $a
EOF
print "$var\n";

$var = <<'EOF';
This is case of single quote so variable value will be 
interpolated. For example value of a = $a
EOF
print "$var\n";

Isso produzirá o seguinte resultado -

This is the syntax for here document and it will continue
until it encounters a EOF in the first line.
This is case of double quote so variable value will be
interpolated. For example value of a = 10

This is case of single quote so variable value will be
interpolated. For example value of a = $a

Personagens em fuga

Perl usa o caractere de barra invertida (\) para escapar de qualquer tipo de caractere que possa interferir em nosso código. Vamos dar um exemplo onde queremos imprimir aspas duplas e o sinal $ -

#!/usr/bin/perl

$result = "This is \"number\"";
print "$result\n";
print "\$result\n";

Isso produzirá o seguinte resultado -

This is "number"
$result

Identificadores Perl

Um identificador Perl é um nome usado para identificar uma variável, função, classe, módulo ou outro objeto. Um nome de variável Perl começa com $, @ ou% seguido por zero ou mais letras, sublinhados e dígitos (0 a 9).

Perl não permite caracteres de pontuação como @, $ e% nos identificadores. Perl é umcase sensitivelinguagem de programação. portanto$Manpower e $manpower são dois identificadores diferentes em Perl.