Curso de CGI

Dividindo as Informações em Pares Nome/Valor

A seguir é preciso dividir as informações dos pares nome/valor. Siga o exemplo:

read(STDIN, $buffer, $ENV{’CONTENT_LENGTH’});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack(”C”, hex($1))/eg;
$form{$name} = $value;
}

Primeiro leia o STDIN até o final do string, tal como é definido pelo uso de $ENV{’CONTENT_LENGHT’}. Em seguida, separe as linhas, dividindo a linha quando encontrar o E comercial (&), na lista @pairs. Neste ponto, temos vários pares nome/valor e substituir os sinais de adição pelos espaços apropriados.

(Lembre-se de que, ao enviar o string de dados para o servidor, os espaços são substituídos pelo sinal de adição.) Então é preciso converter os caracteres especiais de volta a seu formato ASCII. Em seguida, coloque cada nome/valor na lista $form, para que então possamos chamar cada par nome/valor usando $form{’name’}. ]

« 1 2 3 4 5 6 7 8 9 10 11 12 13»


Produtos Relacionados:


Acompanhe as respostas e comentarios atraves do RSS 2.0 feed.
Deixe seu comentario, pergunta ou resposta ou trackback para seu site.

AddThis Social Bookmark Button

Deixe seu comentario.