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 19:47 |
|
Página 1 de 2 Loops são alças, mas não adianta querer dourar a pílula. Ninguém vai saber do que eu estou falando se eu quiser chamar um loop de alça Neste tutorial você vai aprender como se criam diversos tipos de loops. Também vai tomar contato com os saltos condicionais (curioso, ainda não encontrei ninguém que tenha trocado o termo salto por jump). Loops com while e untilCom a ajuda dos loops while da linguagem Perl pode-se repetir diretivas do programa enquanto a condição da loop for verdadeira. Com um loop until pode-se repetir diretivas do programa até que a condição do loop seja atendida. Exemplo 1:
#!/usr/bin/perl $i = 1; print "primeiro a raiz quadrada de 1 até 10...\n\n"; while($i <= 10) { print "A raiz quadrada de ", $i, " é", sqrt($i), "\n"; $i++; } $i = 1; print "e agora os quadrados de 1 até 10...\n\n"; until($i > 10) { print "O quadrado de ", $i, " é", $i * $i, "\n"; $i++; } Exemplo 2: #!/usr/bin/perl $ArqAccesso = "../../docs/access.log"; $Acessos = 0; $Sucessos = 0; open(ARQUIVO, "<".$ArqAccesso) || die "Arquivo não encontrado!\n"; { while(<dados><ARQUIVO>) { if(/HTTP\/1.0" 200/) # procurar por 'HTTP/1.0" 200' que são acessos bem sucedidos { $Sucessos++; } $Acessos++; } } print "De ", $Acessos, " acessos, ", $Sucessos, " foram bem sucedidos\n"; Um loop while (como o do exemplo 1) é iniciado com a palavra while (while = enquanto). Seguem-se as diretivas, contidas entre chaves. Para se formular uma condição é fundamental que as regras dos operadores de comparação sejam observadas. O conteúdo do loop é repetido enquanto a condição do loop for verdadeira. Um loop until (como na segunda parte do exemplo 1) inicia-se com a palavra until (until = até que). Trata-se de uma formulação lógica diferente da do loop while. O conteúdo do loop until é repetido até que a condição do loop seja verdadeira. Nos demais aspectos, as regras do loop until são as mesmas que as do loop while. Entretanto, observe cuidadosamente a formulação da condição lógica! No exemplo, a condição while($i <= 10) acaba tendo exatamente o mesmo efeito que until($i > 10). O exemplo 2 mostra um caso de aplicação típico do loop while em Perl. Neste exemplo, um arquivo é lido linha por linha. Trata-se de um arquivo de log, do tipo que os servidores web produzem para controlar os acessos. Neste caso específico, não há a necessidade de se usar um operador relacional (de comparação) na formulação da condição do loop. O loop é automaticamente interrompido quando todas as linhas do arquivo tiverem sido lidas (complemente esse exemplo verificando o módulo Leitura e Escrita de Arquivos, como também as expressões regulares na pesquisa em cadeias de caracteres). As diretivas no interior de um loop sempre devem estar contidas entre chaves, mesmo quando houver apenas uma única diretiva.
Para se evitar um "loop infinito" é necessário que exista algo que, a um momento qualquer, leve à saída da alça. Para esse fim, frequentemente são definidos os chamados "contadores" - como no exemplo 1 a escalar $i. Esta escalar recebe um valor inicial de 1, que é incrementado em 1 a cada passagem através da diretiva $i++;. Desta forma, quando atingir um determinado valor e atender a condição do loop, este é interrompido. Uma outra possibilidade de controlar e interromper loops é oferecida pelos saltos condicionais. Loops com do..while/untilNeste tipo de loop, ao invés de primeiramente avaliar a condição da alça para depois executar o código dependente da condição, primeiro o bloco de diretivas é executado para depois a condição ser avaliada. Este tipo de loop, em todos os casos e independentemente do tipo de condição, é executado pelo menos uma vez. O uso deste tipo de loop é interessante quando as variáveis utilizadas na condição dependem de um processamento anterior. Exemplo 1: #!/usr/bin/perl $Nome = "João"; do { print $Nome, "\n"; $Nome = "Pedro"; } while($Nome ne "Pedro") Exemplo 2: #!/usr/bin/perl $Nome = "João"; do { print $Nome, "\n"; $Nome = "Pedro"; } until($Nome eq "Pedro") Um loop deste tipo começa com a palavra chave do. O bloco de diretivas vem logo a seguir, como sempre, entre chaves { }. Após a chave de fechamento }, encontra-se a condição de execução da alça. A condição pode ser formulada com while (enquanto) ou com until (até que). As regras restantes são as mesmas das alças com while/until.
|
||||
| Última atualização ( Qui, 20.11.2008 20:53 ) |