[Triangulo-pm] [Perl - Básico] #2 Variáveis
Adriano Ferreira
aferreira em shopzilla.com
Quarta Junho 11 05:43:13 PDT 2008
[Perl - Básico] #2 Variáveis
Perl é conhecido pelo uso (ou abuso) de caracteres não alfanuméricos no
código fonte dos programas. Neste ponto, a linguagem vai muito além dos
tradicionais operadores "+", "*", "=", "!" que tudo mundo conhece de
linguagens como C ou Java.
A introdução destes caracteres estranhos já começa pelas variáveis.
Variáveis em Perl são claramente marcadas por um símbolo estranho no
começo:
$contador
@servidores
%nome_de
*GLOB
&my_sub
Os três primeiros exemplos são fundamentais e aparecem o tempo todo em
programação Perl. $contador é uma variável escalar. @servidores é um
*array*. %nome_de é um *hash*. Sobre os outros, podemos falar mais
tarde: *GLOB tem a ver com a tabela de símbolos de um programa Perl e
&my_sub é uma forma exótica de referenciar uma subrotina (que tem os
seus usos e suas surpresas).
Estes caracteres '$', '@', '%', '*', '&' são chamados de *sigils* e
marcam claramente as variáveis no programa fonte.
use LWP::Simple qw( get );
my $uri = 'http://search.cpan.org/src/GAAS/libwww-perl-5.812/README';
# download 'README' da distribuição libwww-perl-5.812
my $content = get($uri);
Neste pedaço de código acima, as variáveis são $uri e $content.
"LWP::Simple" é o nome de um módulo e "get" uma subrotina vinda deste
módulo. Não há confusão entre variáveis e módulos/subrotinas.
Esta distinção pode parecer redundante, mas tem seus benefícios. Ela
estabelece *namespaces* (espaços de nomes) diferentes para variáveis
escalares, *arrays*, *hashes* e subrotinas/módulos. E um bônus:
interpolação em strings sem complicações:
my $name = 'Fulano';
my %bag = { laranja => 2, pera => 3 };
print "$name tem $bag{laranja} laranjas e $bag{pera} peras\n";
# saída: Fulano tem 2 laranjas e 3 peras
Triangulo-pm, 2008-06-11 09:40
Mais detalhes sobre a lista de discussão Triangulo-pm