3308 registros
0 hoje
12 nesta semana
45 neste mês![]() | 73% | Brasil (49282) |
![]() | 5% | Portugal (3192) |
![]() | 3% | EUA (2217) |
![]() | 0% | Rússia (263) |
![]() | 0% | Holanda (240) |
| Hoje: | 56 |
| Ontem: | 2619 |
| No mês: | 41852 |
| Mês passado: | 25815 |
| Total: | 67667 |
| Recorde: | 3037 |
| No dia: | 04.03.10 |
| Leituras hoje: | 20372 |
| Leituras Total: | 289800 |
| Bots hoje: | 16 |
| Dados desde: | 16.02.2010 |
|
Sex 21 Nov 2008 17:04 |
|
Página 1 de 3 São muitas as possibilidades de manipular strings que a linguagem Perl oferece. Neste tutorial vamos ver os principais recursos disponíveis. Convenções para StringsEm Perl, as strings podem ficar entre aspas simples ou duplas. A diferença entre as notações é que, numa sequência de caracteres entre aspas duplas, todos os caracteres especiais são interpretados. Numa sequência de caracteres entre aspas simples, apenas os caracteres especiais mais importantes são interpretados. Exemplos: $Escalar01 = "Aqui segue uma\nQuebra de linha"; $Escalar02 = "Aqui segue uma\fQuebra de página"; $Escalar03 = "Aqui segue um\bBackspace"; $Escalar04 = "Aqui segue um\rRetorno de carro"; $Escalar05 = "Aqui segue um\tTab"; $Escalar06 = "Aqui segue um\vTab Vertical"; $Escalar07 = "Aqui segue um\aSinal de alarme"; $Escalar08 = "Aqui segue um\012 Carcater com valor octal de 012"; $Escalar09 = "Aqui segue um\x7f Caracter com valor hexadecimal de 7f"; $Escalar10 = "Aqui segue um\cC Control-C (aqui: [Ctrl]+[C])"; $Escalar11 = "Aqui seguem\"Aspas"; $Escalar12 = "Aqui segue uma\\Contrabarra"; $Escalar13 = "Este \lA é interpretado como minúsculo (a)"; $Escalar14 = "Esta \LPALAVRA\E é interpretada como minúscula (palavra)"; $Escalar15 = "Este \ua é interpretado como A maiúsculo"; $Escalar16 = "Esta \Upalavra\E é interpretada como PALAVRA em maiúsculo"; $Escalar17 = 'Aqui só \\ e\' são interpretados'; Nos exemplos acima, as escalares $Escalar01 a $Escalar16 estão entre aspas duplas. Por este motivo podem conter todos os caracteres especiais. Os caracteres especiais são precedidos por uma contrabarra \ seguida por uma letra ou um número em notação octal ou hexadecimal. A $Escalar17 foi colocada entre aspas simples. Neste caso, apenas os caracteres especiais nela utilizados são permitidos, ou seja, \' para indicar aspa simples e \\ para indicar contrabarra.
print "Content-type: text/html\n\n"; Extraindo partes de stringsPode-se extrair uma sequência de caracteres ou um único caracter de uma string. Veja o exemplo: #!/usr/bin/perl $Url = "http://www.numaboa.com/index.html"; $Stop = index($Url,":"); $Protocolo = substr($Url,0,$Stop); $Start = index($Url,"//") + 2; $Dominio = substr($Url,$Start); $Stop = index($Dominio,"/"); $Dominio = substr($Dominio,0,$Stop); $Start = rindex($Url,"/") + 1; $NomeArq = substr($Url,$Start); $Compr_Url = length($Url); print "O protocolo utilizado pelo endereço da URL é: ", $Protocolo, "\n"; print "O domínio da URL é: ", $Dominio, "\n"; print "O nome do arquivo da URL é: ", $NomeArq, "\n"; print "O endereço URL tem um comprimento de ", $Compr_Url, " caracteres\n"; Neste exemplo extrai-se de um endereço URL, atribuído à escalar $Url, o protocolo (http), o domínio (www.numaboa.com) e o nome do arquivo (index.html). Todas as três partes são atribuídas a escalares próprias. O protocolo está em $Protocolo, o domínio em $Dominio e o nome do arquivo em $NomeArq. Ao final do programa as partes são apresentadas utilizando-se a função print. A função Perl com a qual é possível extrair uma parte de uma cadeia de caracteres chama-se substr. Esta função possui dois ou três argumentos que devem ser passados como parâmetros. O primeiro parâmetro é a string da qual a sequência de caracteres deve ser extraída. O segundo parâmetro é um número. Este número indica a partir de qual caracter da string a sub-string deve ser extraída. O primeiro caractere da string é o de número 0. Por exemplo, substr("Pedro Henrique",2) retorna "dro Henrique". Como terceiro parâmetro, opcional, pode-se indicar o número de caracteres que se quer extrair. Por exemplo, substr("Pedro Henrique",0,5) retorna Pedro. Muitas vezes, porém, desconhece-se a posição onde uma parte desejada se inicia, mas se conhece a estrutura da string. Isto também acontece no exemplo acima. A string é um endereço URL e endereços URL têm um estrutura conhecida. Quando se quer extrair o domínio de uma URL, sabe-se que o endereço do domínio se inicia logo após as duas barras //. A Perl oferece para isto as funções index e rindex. Com index obtém-se o início da posição da primeira ocorrência de um caractere ou seqüência de caracteres e com rindex obtém-se o início da posição da última ocorrência. Ambas as funções possuem dois argumentos. O primeiro é a string que será pesquisada, o segundo é a sub-string que é procurada. As duas funções retornam um número. Este número pode ser utilizado como segundo parâmetro da função substr. Por exemplo, index("Os micos fazem micagens","mic") retorna 3, o início da primeira ocorrência de "mic", e rindex("Os micos fazem micagens","mic") retorna 15, o início da última ocorrência. É aconselhável atribuir os valores de retorno destas funções a escalares próprias, como no exemplo acima. Estas variáveis escalares podem ser confortavelmente retrabalhadas posteriormente.
|
|||||
| Última atualização ( Sex, 21.11.2008 21:21 ) |