Guest - PedroVeber - Postado Junho 19, 2004 Denunciar Share Postado Junho 19, 2004 #!/usr/local/bin/perl $_=1;print "Content-type: text/html\n";print "Pragma: no-cache\n";print "Cache-Control: no-store\n";print "Expires: 1\n\n";$entrada = ($ENV{REQUEST_METHOD} =~ /POST/i)? <STDIN>: $ENV{QUERY_STRING};foreach $associacao (split "&", $entrada){ ($nome, $valor) = split "=", $associaca; $parametro{$nome} = valor;}if ($parametro{funcao} eq "cadastrar"){ escreve (%parametro);}elsif ($parametro{funcao} eq "exibir"){ %dados = le(); imprime_dados();}sub escreve{ my dados = @_; open (ARQ, ">>agenda.dat") or die "Arquivo Não Encontrado"; print ARQ '"', $dados{"nome"}, '";'; print ARQ '"', $dados{"idade"}, '";'; print ARQ '"', $dados{"endereco"}, '";'; close ARQ; print <<FIM <h3> Contato "$dados{"nome"}" adicionado com sucesso. </h3> <a href="/cgi-bin/agenda.cgi?funcao=exibir"> Voltar e Exibir Cadastro</a></body></html> FIM},sub le{ my %dados; open (ARQ, "agenda.dat"); while ($linha = <ARQ>) { ($nome, $idade, $endereco) = ($linha =~ m:^\"(.*?[^\\])?\"; \"(.*?[^\\])?\"; \"(.*?[^\\])?\"; $:x); if ($nome) { $nome =~ s/\\\"/\"/g; $idade =~ s/\\\"/\"/g; $endereco =~ s/\\\"/\"/g; $dados{$nome}{"idade"} = $idade; $dados{$nome}{"endereco"} = $endereco; } } close ARQ; return %dados;}sub imprime_dados{ <<FIM <html> <head> <title> Agenda</title> </head> <body> <table border="0" width="100%"> <tr> <td> Nome </td> <td> Idade </td> <td> Endereco </td> </tr> foreach $nome (@nomes) { print "<!-- Contato $nome -->\n"; print "<tr>\n"; print "<td>", $nome, "</td>"; print "<td>$dados{$nome}{'idade'}\ </td> <td>$dados{$nome}{'endereco'}\ </td>"; print "</tr>\n\n"; } print <<"FIM"; </form></table> </body></html> FIM} Tem alguma coisa errada? não fununcia! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Cliford Postado Junho 20, 2004 Denunciar Share Postado Junho 20, 2004 Q erro esta dando? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - PedroVeber - Postado Junho 21, 2004 Denunciar Share Postado Junho 21, 2004 Não fuinciona aparece aquele erro comun no servidor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 GhP Postado Junho 21, 2004 Denunciar Share Postado Junho 21, 2004 tente isso #!/usr/local/bin/perl $_=1; print "Content-type: text/html\n"; print "Pragma: no-cache\n"; print "Cache-Control: no-store\n"; print "Expires: 1\n\n"; $entrada = ($ENV{REQUEST_METHOD} =~ /POST/i)? <STDIN>: $ENV{QUERY_STRING}; foreach $associacao (split "&", $entrada){ ($nome, $valor) = split "=", $associaca; $parametro{$nome} = valor; } if ($parametro{funcao} eq "cadastrar"){ escreve (%parametro); }elsif ($parametro{funcao} eq "exibir"){ %dados = le(); imprime_dados(); } sub escreve{ my dados = @_; open (ARQ, ">>agenda.dat") or die "Arquivo Não Encontrado"; print ARQ '"', $dados{"nome"}, '";'; print ARQ '"', $dados{"idade"}, '";'; print ARQ '"', $dados{"endereco"}, '";'; close ARQ; print qualquer~ <h3> Contato "$dados{"nome"}" adicionado com sucesso. </h3> <a href="/cgi-bin/agenda.cgi?funcao=exibir"> Voltar e Exibir Cadastro</a></body></html> ~; } sub le{ my %dados; open (ARQ, "agenda.dat"); while ($linha = <ARQ>){ ($nome, $idade, $endereco) = ($linha =~ m:^\"(.*?[^\\])?\"; \"(.*?[^\\])?\"; \"(.*?[^\\])?\"; $:x); if ($nome){ $nome =~ s/\\\"/\"/g; $idade =~ s/\\\"/\"/g; $endereco =~ s/\\\"/\"/g; $dados{$nome}{"idade"} = $idade; $dados{$nome}{"endereco"} = $endereco; } } close ARQ; return %dados; } sub imprime_dados{ print qualquer~ <html> <head> <title> Agenda</title> </head> <body> <table border="0" width="100%"> <tr> <td> Nome </td> <td> Idade </td> <td> Endereco </td> </tr> ~; foreach $nome (@nomes){ print "<!-- Contato $nome -->\n"; print "<tr>\n"; print "<td>", $nome, "</td>"; print "<td>$dados{$nome}{'idade'}\ </td> <td>$dados{$nome}{'endereco'}\ </td>"; print "</tr>\n\n"; } print qualquer~ </form></table> </body></html> ~; } abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest - PedroVeber -
#!/usr/local/bin/perl
$_=1;
print "Content-type: text/html\n";
print "Pragma: no-cache\n";
print "Cache-Control: no-store\n";
print "Expires: 1\n\n";
$entrada = ($ENV{REQUEST_METHOD} =~ /POST/i)? <STDIN>: $ENV{QUERY_STRING};
foreach $associacao (split "&", $entrada)
{
($nome, $valor) = split "=", $associaca;
$parametro{$nome} = valor;
}
if ($parametro{funcao} eq "cadastrar")
{
escreve (%parametro);
}
elsif ($parametro{funcao} eq "exibir")
{
%dados = le();
imprime_dados();
}
sub escreve
{
my dados = @_;
open (ARQ, ">>agenda.dat") or die "Arquivo Não Encontrado";
print ARQ '"', $dados{"nome"}, '";';
print ARQ '"', $dados{"idade"}, '";';
print ARQ '"', $dados{"endereco"}, '";';
close ARQ;
print <<FIM
<h3> Contato "$dados{"nome"}" adicionado com sucesso. </h3>
<a href="/cgi-bin/agenda.cgi?funcao=exibir"> Voltar e Exibir Cadastro</a></body></html>
FIM
}
,
sub le
{
my %dados;
open (ARQ, "agenda.dat");
while ($linha = <ARQ>)
{
($nome, $idade, $endereco) =
($linha =~ m:^\"(.*?[^\\])?\";
\"(.*?[^\\])?\";
\"(.*?[^\\])?\"; $:x);
if ($nome)
{
$nome =~ s/\\\"/\"/g;
$idade =~ s/\\\"/\"/g;
$endereco =~ s/\\\"/\"/g;
$dados{$nome}{"idade"} = $idade;
$dados{$nome}{"endereco"} = $endereco;
}
}
close ARQ;
return %dados;
}
sub imprime_dados
{
<<FIM
<html>
<head>
<title> Agenda</title>
</head>
<body>
<table border="0" width="100%">
<tr>
<td> Nome </td>
<td> Idade </td>
<td> Endereco </td>
</tr>
foreach $nome (@nomes)
{
print "<!-- Contato $nome -->\n";
print "<tr>\n";
print "<td>", $nome, "</td>";
print "<td>$dados{$nome}{'idade'}\ </td>
<td>$dados{$nome}{'endereco'}\ </td>";
print "</tr>\n\n";
}
print <<"FIM";
</form></table>
</body></html>
FIM
}
Tem alguma coisa errada? não fununcia!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.