Plugin de Autenticação para o Joomla 1.5
Como se tratava o estupro em 1833
Adobe Flash Player e Cookies ladrões
Objetos e Manipuladores (handles)
3440 registros
0 hoje
17 nesta semana
2 neste mês| 89,2% | | Brasil |
| 8,2% | | Portugal |
| 0,8% | | EUA |
| 0,1% | | Espanha |
| 0,1% | | Japão |
| Hoje: | 165 |
| Ontem: | 1988 |
| Esta semana: | 11978 |
| Semana passada: | 16142 |
| Este mês: | 6969 |
| Mês passado: | 69435 |
| Total: | 505818 |
|
Qui 20 Nov 2008 13:04 |
|
Página 1 de 2 Existem vários tipos e modos de referência a variáveis na linguagem Perl. Neste tutorial tentei destrinchar ao máximo o assunto. Variáveis Simples (Escalares)Variáveis são áreas de armazenamento nas quais podem ser guardados dados que serão utilizados durante a execução de um programa. O conteúdo de uma variável é denominado de "valor". Os valores de variáveis podem ser alterados a qualquer tempo. Em Perl, uma variável simples, que contenha um número ou uma sequência de caracteres, é denominada de variável escalar. Exemplos: $Nome_1 = "Matusalém"; $Idade_1 = 625; $Nome_2 = "Pedro Bó"; $Idade_2 = sqrt($Idade); Um pequeno script Perl usando variáveis escalares: #!/usr/bin/perl $Valor = 123456; $Valorzinho = substr($Valor,1,3); print $Valorzinho; Uma escalar, ou seja, uma variável simples, é composta por um cifrão $ seguido do nome da variável. O cifrão sempre precisa estar presente se a variável for utilizada para receber um valor ou numa operação (como no exemplo acima, onde a variável $Idade aparece dentro da função sqrt() que calcula a raiz quadrada de um número). Você pode definir escalares para conteúdo numérico ou para sequências de caracteres (strings). O tipo de conteúdo é decidido no momento em que se atribui o valor da escalar ou no momento em que ela é utilizada numa diretiva. Se o valor atribuído for uma sequência de caracteres, estes precisam estar entre aspas, simples ('caracteres') ou duplas ("caracteres"). Para maiores detalhes, veja Convenções para Sequência de Caracteres.
Matrizes (Arrays)Matrizes são seqüências de grupos de escalares. Em Perl, as matrizes têm uma importância primordial porque oferecem um modo muito fácil de armazenar dados e de manipulá-los. Exemplo 1: #!/usr/bin/perl @Dados = ("Maria",23,"Curitiba","3o.Grau"); print $Dados[0], " tem ", $Dados[1], " anos, mora em ", $Dados[2], " e tem ", $Dados[3]; Exemplo 2: #!/usr/bin/perl for($i = 1;$i <= 9;$i++) { $Valor = $i * $i; push(@Quadrados, $Valor); } for(@Quadrados) { print $_, "\n"; } Exemplo 3: #!/usr/bin/perl @Letra = ("a".."z"); print $Letra[2], "\n"; Em Perl, uma matriz é iniciada por um sinal de arroba @ seguido do nome da matriz. É possível inicializar uma matriz com valores predefinidos, como a matriz @Dados do exemplo 1. Note que os dados precisam estar entre parênteses e separados por vírgulas. As matrizes também podem ser geradas dinamicamente, como se pode observar no exemplo 2: dentro de um loop, que conta de 1 até 9, a matriz @Quadrados é povoada dinamicamente com os quadrados dos números de 1 atá 9. Isto é possível graças ao uso da função push(), a qual adiciona elementos no final da matriz. O exemplo 3 mostra uma variação especial. Para se povoar uma matriz com letras (de-até) ou com números (de-até) basta indicar o primeiro e o último caractere desejado, separados por dois pontos (no exemplo, a matriz @Letra é povoada com caracteres minúsculos de a até z). Quando os valores de uma matriz são predefinidos, valem as mesmas regras das variáveis escalares: strings são indicadas entre aspas, valores numéricos não precisam de aspas. É claro que também é possível povoar uma matriz com escalares. Neste caso, a lista incorpora o valor das escalares correspondentes. Para se referir a um determinado elemento de uma matriz, utiliza-se o nome da matriz precedido do sinal de cifrão $ (da mesma forma que nas escalares). Após o nome, segue o número do elemento da lista entre colchetes. O primeiro elemento é identificado por @NomeDaLista[0], o segundo por @NomeDaLista[1] e assim sucessivamente. No primeiro exemplo, logo acima, esta característica fica bem clara. Ainda com referência aos 3 exemplos citados, seguem os dados das matrizes criadas e seus respectivos elementos.
É muito simples atribuir o valor de um elemento de uma matriz a uma variável escalar. Basta a seguinte linha de comando: $Nome = $Dados[0]; Também é muito simples copiar uma matriz completa para outra matriz. Basta o comando: @NovaLista = @Quadrados; Pode-se armazenar strings e valores numéricos numa mesma matriz, como no exemplo 1 acima. Também não existe limitação do número de elementos numa matriz. Pode-se, portanto, armazenar uma matriz inteira como elemento de uma outra matriz, ou seja, uma matriz B dentro de um elemento da matriz A. Um elemento da matriz "embutida" B pode, então, ser obtido através de @MAtrizA[2][4] (isto é, o terceiro elemento da matriz A é a matriz B e, desta, solicita-se o quinto elemento). Mesmo sem uma definição prévia, pode-se atribuir um valor a uma matriz. Por exemplo, $Numeros[5] = 4321; cria a matriz @Numeros com seis elementos, $Numeros[0] a $Numeros[5]. Os primeiros 5 elementos estão vazios e o sexto elemento recebe o valor 4321. O último elemento de uma matriz pode sempre ser acessado através de @NomeDaMatriz[-1]. O índice negativo -1 está reservado para tal fim. |
|||||||||||||||||||||||||||||||||||||||||||
| Última atualização ( Qui, 20.11.2008 19:47 ) | |||||||||||||||||||||||||||||||||||||||||||