• 0
Sign in to follow this  
Guest - PedroVeber -

Por Favor Vejam Esse Script

Question

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!

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
Guest - PedroVeber -

Não fuinciona aparece aquele erro comun no servidor.

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this