A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Linguagem Perl - Variáveis Predefinidas

Sab

22

Nov

2008


19:28

(3 votos, média 4.33 de 5) 


A linguagem Perl possui uma gama de variáveis predefinidas. O conteúdo dessas variáveis pode ser acessado para se obter informações sobre a configuração do interpretador Perl e sobre a configuração do sistema do servidor. Algumas variáveis, entretanto, apresentam um conteúdo específico dependendo da situação do procedimento. Estas possibilidades, porém, devem ser exploradas apenas quando se tem o domínio da linguagem.

Escalares predefinidas

A lista a seguir não está completa. Contém apenas as principais variáveis escalares predefinidas.

Escalar Explicação Exemplo
$_ É a variável predefinida mais conhecida da Perl. Em loops de procura (por exemplo, na procura em uma lista) ela contém o valor da posição atual. Ela pode ser integrada diretamente na procura, sem a necessidade de se definir uma variável própria. O exemplo ao lado mostra a sequência de números que foram definidos na lista @Numeros.
@Numeros = (1..10);
for(@Numeros)
{
   print $_, "\n";
}
$. Guarda a linha atual do último arquivo lido. No exemplo ao lado, todas as linhas de um arquivo texto são lidas e impressas. No final, $. indica quantas linhas foram lidas.
open(ARQUIVO, "<readme.txt");
while(<ARQUIVO>) {
   print $_;
}
print $., "Linhas lidas";
close(ARQUIVO);
    
$/ Contém o separador estabelecido para uma entrada de dados. Pode ser alterado - mais de um separador é permitido. O exemplo ao lado mostra que uma entrada efetuada através da entrada padrão só pode ser terminada quando o usuário digitar FIM seguido de <return>.
$/ = "FIM";
$SeuNome = <stdin><STDIN>;
print $SeuNome;
$] Contém o número da versão do interpretador Perl utilizado. Esta variável é apropriada para garantir que o código a ser executado seja compatível com a versão do interpretador.
{
   print "O interpretador
      Perl é muito antigo";
} else {
   print $];
}
$! Caso tenha ocorrido um erro, contém a mensagem de erro ou o número do erro do contexto atual. No exemplo ao lado há um comando que tenta abrir um arquivo. Se o arquivo não puder ser aberto, a mensagem de erro será impressa.
open(ARQUIVO, "<nadinha.txt")
   || print $!;
$0 Contém o nome do arquivo do script Perl que está sendo executado. Seu valor pode ser alterado.
print $0,
   " está sendo executado!";
$$ Contém a identificação (ID) do processo que está sendo executado. É interessante em sistemas UNIX/Linux.
"O processo ", $$,
   " está sendo executado!";
$^T Contém a hora exata, em milissegundos, do início da execução do script. O exemplo em destaque mostra um pequeno teste de benchmark. Após executar um longo loop de cálculos, mostra quanto tempo o script gastou na execução.
@Numeros = (1..50000);
for(@Numeros) {
   $x = sqrt($_);
}
$Inicio = $^T;
$Agora = time;
print "Tempo: ",
   $Agora - $Inicio, " ms\n";
$& Após a utilização de uma expressão regular, contém o valor que corresponde ao padrão da procura.
$Frase = "Homem e Mulher";
$Frase =~ /\be\b.*/;
print $&;
$+ Após a utilização de uma expressão regular regular entre parênteses, contém o valor que corresponde ao padrão da procura.
$Frase = "Homem e Mulher";
$Frase =~ /(\be\b).*/;
print $+;
$1, $2, etc Após a utilização de uma expressão regular entre parênteses numerada, contém o valor que corresponde ao padrão numerado da procura.
$Frase = "Homem e Mulher";
$Frase =~ /(\be\b).*/1;
print $1;

Matrizes e Hashes predefinidos

A lista a seguir não está completa. Contém apenas as principais variáveis de matrizes e hashes predefinidos.

Matriz/Hash Explicação Exemplo
@_ Contém os parâmetros enviados quando se chama uma subrotina. Na subrotina, estes parâmetros podem ser acessados através de $_[0] (primeiro parâmetro), $_[1] (segundo parâmetro), etc
&Fale("Olá pessoal");
sub Fale {
   print $_[0];
}
@ARGV Contém os parâmetros enviados na abertura de um script Perl. Por exemplo, chamando-se Perl com perl teste.pl meutexto.txt, então meutexto.txt é o primeiro parâmetro para o script que pode processá-lo como input na execução. No exemplo ao lado, o primeiro parâmetro $ARGV[0] é interpretado como nome de um arquivo e o script tenta abrir este arquivo.
open(ARQ, "<$ARGV[0]")
   || die "Erro!";
print $ARGV[0],
   " aberto!";
close(ARQ);
%ENV Contém todo o contexto oferecido ao interpretador Perl (drivers ativos, programas do sistema, etc). O exemplo ao lado mostra todos os elementos do Hash que contém estes dados.
for(%ENV) {
   print $_, "\n";
}

Variáveis do Contexto

A linguagem utiliza variáveis de contexto principalmente para indicar determinados padrões de procura ao interpretador Perl. A lista a seguir não está completa, contém apenas as principais variáveis de contexto predefinidas. Pode-se obter o conteúdo deste tipo de variável através de $Valor = $ENV{'PATH'};. O importante neste caso é a utilização de $ENV{'NomeDaVariável'} - o nome da variável precisa estar entre chaves e o uso de aspas simples é aconselhável.

Variável Explicação
HOME Contém o caminho que deve ser seguido quando um comando chdir não contiver parâmetros (típico do Unix/Linux).
PATH Contém o caminho completo, ou seja, todos os diretórios nos quais os programas executáveis devem ser procurados. É utilizada pelo Perl quando um script chama um segundo script Perl cuja localização não tenha sido especificada.
mfx brokerводостойкий карандаш для гублобановский харьковкупить ноутбукаэропорт харьковалександр лобановскийобыск лобановский

Informações adicionais