<div dir="ltr">Só reforçando o que eu disse, eu já achei uma falha de segurança, onde você abre um descritor de arquivos com dois argumentos. <b>Possivelmente</b> em algum desses "opens" um dos argumentos vem do usuário.<br><br><a href="https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=76775519">https://www.securecoding.cert.org/confluence/pages/viewpage.action?pageId=76775519</a><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 11, 2016 at 5:36 PM, Daniel de Oliveira Mantovani <span dir="ltr"><<a href="mailto:daniel.oliveira.mantovani@gmail.com" target="_blank">daniel.oliveira.mantovani@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Eu fortemente te aconselho a jogar isso fora, e usar o Google Hangout ou qualquer uma das milhões de soluções grátis que resolvem isso.</div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">2016-01-11 17:33 GMT-02:00 Lucas Moraes <span dir="ltr"><<a href="mailto:lucastiagodemoraes@gmail.com" target="_blank">lucastiagodemoraes@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Aconselho você atualizar a pagina com javascript.<div><br></div><div><span style="color:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;line-height:22.4px">setInterval(</span><span style="color:brown;font-family:Consolas,'courier new';font-size:16px;line-height:22.4px">function</span><span style="color:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;line-height:22.4px">(){ window.location.href = '?</span><span style="color:rgb(0,0,0);font-family:Calibri;font-size:16px">todas</span><span style="color:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;line-height:22.4px">'</span><span style="color:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;line-height:22.4px"> }, 5</span><span style="color:mediumblue;font-family:Consolas,'courier new';font-size:16px;line-height:22.4px">000</span><span style="color:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;line-height:22.4px">);</span></div><div><span style="color:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;line-height:22.4px"><br></span></div><div>Falou.<span style="color:rgb(0,0,0);font-family:Consolas,'courier new';font-size:16px;line-height:22.4px"><br></span></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>Em 11 de janeiro de 2016 17:26, kleber caetano <span dir="ltr"><<a href="mailto:payback@hotmail.com.br" target="_blank">payback@hotmail.com.br</a>></span> escreveu:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>
<div dir="ltr">
<div dir="ltr">
<div style="FONT-SIZE:12pt;FONT-FAMILY:'Calibri';COLOR:#000000">
<div dir="ltr">
<div>
<div>Olá Sr(s),</div>
<div> </div>
<div>Migrei para o windows 10 e estou tendo um problema com um aplicativo em
perl quando utilizo o edge ,</div>
<div>entretanto , quando utilizo o explorer 11 o aplicativo é executado
normalmente.</div>
<div> </div>
<div>Nota[1] - Este aplicativo refere-se a um chat ( sala de reunião online
).</div>
<div> </div>
<div>O problema ( no edge ) ocorre quando :</div>
<div> </div>
<div>- Ele reenvia as mensagens ( através do comando <meta
http-equiv="refresh" content="5,?todas"/> ) para </div>
<div> os participantes da sala de reunião ou seja não está enviando
nada.</div>
<div>- Quando é encerrada a reunião , o aplicativo elimina os arquivos de
trabalho , porém , no edge isto </div>
<div> não está acontecendo. </div>
<div> </div>
<div>Nota[2] - No explorer 11 estes problemas não ocorrem.</div>
<div> </div>
<div>Nota[3] - O script em perl foi desenvolvido por um amigo que conhecia
bastante perl </div>
<div>
entretanto meu conhecimento é limitado. </div>
<div> </div>
<div>Nota[4] – Estou trabalhando com ActivePerl-5.16.3.1603-MSWin32-x86-296746
</div>
<div> </div>
<div>Nota[5] – Caso considerem necessário , tenho como disponibilizar um link de
acesso a este site sala.cgi</div>
<div> </div>
<div>Nota[6] - <font face="Times New Roman">Quando instalei o windows 10 , o
reload automático funcionava , entretanto ,
<br>
ao realizar uma manutenção grande ( nova versão acho ) o problema
apareceu.</font></div>
<div><font face="Times New Roman">
O problema de não eliminar os arquivos temporário de trabalho
existem<br>
desde a instalação inicial do windows 10</font><br></div>
<div>Nota[7] – coloquei duas marcas no script onde eu acho que as funções são
executadas:</div>
<div> </div>
<div>######################### aqui elimina os arquivos de trabalho
###################################</div>
<div> </div>
<div>##################### aqui reenvia mensagens para os participantes
#############################</div>
<div> </div>
<div>Alguém sabe como resolver isto ?</div>
<div> </div>
<div>Agradeço a atenção ,</div>
<div> </div>
<div>kleber </div>
<div> </div>
<div>=================================================================================================</div>
<div>
script em perl ( sala.cgi )</div>
<div>=================================================================================================</div>
<div>#!perl</div>
<div>print "Content-type:text/html\n\n";</div>
<div>use CGI::Carp(fatalsToBrowser);</div>
<div> </div>
<div>###############################################################################################</div>
<div>#
CONFIGURAÇÕES
GERAIS
#</div>
<div>#
#</div>
<div>$titulo = "Sala de Reunião
Online"; # Título do
script
#</div>
<div>$master =
"master.log";
# Arquivo temporário a guardar primeiro
usuário
#</div>
<div>$log =
"logs.log";
# Arquivo temporário de logs
totais
#</div>
<div>$log2 =
"logs2.log";
# Arquivo temporário de logs da
sessão
#</div>
<div>$online =
"online.log";
# Arquivo temporário com nomes dos usuários
Online
#</div>
<div>$estilos=
"estilos.css";
# Arquivo com os estilos dentro da pasta
modelos
#</div>
<div>$topo =
"topo.html";
# Template do
Topo
#</div>
<div>$fim =
"fim.html";
# Template do
Fim
#</div>
<div>#
#</div>
<div>#
#</div>
<div>#
FIM DAS
CONFIGURAÇÕES
#</div>
<div>###############################################################################################</div>
<div> </div>
<div>read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});</div>
<div>@conteudo = split(/&/, $buffer);</div>
<div>foreach $par (@conteudo) {</div>
<div> ($campo, $valor) = split(/=/,
$par);</div>
<div> $valor =~ tr/+/ /;</div>
<div> $valor =~
s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div> $CAMPO{$campo} = $valor;</div>
<div> }</div>
<div> </div>
<div>$qs = "$ENV{QUERY_STRING}";</div>
<div>&data;</div>
<div>&style;</div>
<div>if ($qs eq ""){</div>
<div>print qq|</div>
<div><BR><BR><BR><BR><BR><BR><BR></div>
<div>|;</div>
<div>&topo;</div>
<div>print qq§</div>
<div><script language="JavaScript"></div>
<div><!--</div>
<div>altura = 690;</div>
<div>largura= 1090;</div>
<div>l = (screen.width - largura)/2;</div>
<div>t = (screen.height - altura - 50)/2; </div>
<div>var flag = "";</div>
<div>var idioma=1;</div>
<div>var strCookie='payback';</div>
<div> </div>
<div>function LerCookie(strCookie) {</div>
<div> var strNomeIgual = strCookie + "=";</div>
<div> var arrCookies = document.cookie.split(';');</div>
<div> for(var i = 0; i < arrCookies.length; i++)</div>
<div> {</div>
<div> var strValorCookie =
arrCookies[i];</div>
<div> while(strValorCookie.charAt(0)
== ' ')</div>
<div> {</div>
<div>
strValorCookie = strValorCookie.substring(1, strValorCookie.length);</div>
<div> }</div>
<div>
if(strValorCookie.indexOf(strNomeIgual) == 0)</div>
<div> {</div>
<div> var
mensagem=strValorCookie.substring(strNomeIgual.length,
strValorCookie.length);</div>
<div> flag =
mensagem;</div>
<div> mensagem
='';</div>
<div>
return;</div>
<div> }</div>
<div> }</div>
<div> alert ( '!!!! Erro crítico : Não foi possível restaurar
área de transferência' );</div>
<div> top.location.href = "/payback/index.htm";
</div>
<div>};</div>
<div>function init(form) {</div>
<div>
LerCookie(strCookie);</div>
<div>
if (flag != null ) {</div>
<div>
flag = flag.split('|'); </div>
<div>
document.form.login.value = flag[9];</div>
<div>
}</div>
<div>
document.form.tema.focus();</div>
<div>}</div>
<div>function Entra(form) {</div>
<div> if
(document.form.tema.value.length == 0) {</div>
<div> alert("O
tema da reunião não foi informado");</div>
<div>
document.form.tema.focus();</div>
<div>
document.form.tema.select();</div>
<div> return
false;</div>
<div> } </div>
<div> novajanela = window.open("",
"entrar",
"scrollbars=no,menubar=no,height="+altura+",width="+largura+",top="+t+",left="+l);
</div>
<div> return true;</div>
<div>}</div>
<div>function showSalaHelp() {</div>
<div> altura1=400;</div>
<div> largura1= 800;</div>
<div> l1 = (screen.width - largura + 250)/2;</div>
<div> t1 = (screen.height - altura +
250)/2; </div>
<div> var html =
'<HTML><HEAD><TITLE></TITLE></HEAD>';</div>
<div> html += '<BODY
background="/reuniao/imagem/papel.jpg" TEXT="#000066"><br><table
align=center><tr><td><h4><b>SALA DE
REUNIÃO ONLINE
</b></h4></td></tr></table><br><TABLE
ALIGN=CENTER><font
size=2><TR><TD><PRE><b>';
</div>
<div> html += '<li>O
dado usuário deve ser único por sala.';</div>
<div> html += '<li>O
dado tema da reunião será o ponto de encontro dos participantes na
sala.<br>';</div>
<div> html +=
' Este texto não pode conter espaço , por exemplo , informar
Aquisição_de_Filial';</div>
<div> html += '<li>O
sistema diferencia letra maiúscula de minúscula para identificação da
sala.';</div>
<div> html +=
'<li>Cada sala terá um único tema não tendo limitações de quantidade de
aberturas de<br>';</div>
<div> html +=
' salas e participantes.<br>';</div>
<div> html += '<li>O
usuário que abrir a sala ou seja o primeiro a entrar receberá uma tarefa
de<br>';</div>
<div> html += '
encerrar a reunião ( botão especial ).<br> Este usuário , ao sair da
sala , provocará a eliminação dos arquivos que registram<br> os
textos digitados.<br> Portanto , recomenda-se dar um tempo de poucos
segundos antes de sair da sala.';</div>
<div> html +=
'<li>Ao acionar o batão especial ENCERRAR REUNIÃO , o texto REUNIÃO
FINALIZADA<br>';</div>
<div> html +=
' é enviado á sala e nenhuma nova mensagem é registrada pelo
sistema.';</div>
<div> html += '<li>É
recomendável que os participantes imprimam a ata de reunião após esta
ação.<br>';</div>
<div> html +=
'<li>Para ajuda de formatação do texto mensagem , na sala de reunião ,
acionar a tecla F1';</div>
<div> html +=
'<li>Os documentos enviados ao servidor para serem apresentados como anexo
,<br> serão eliminados quando o sistema operacional for
reinicializado.<br>';</div>
<div> html += ' Nota
- O documento apresentado como anexo , para ser baixado no servidor ,
deverá ter<br> no máximo
500 kbytes.';</div>
<div> html +=
'</TABLE></FONT></B></PRE></BODY></HTML>';</div>
<div> var newWindow =
window.open("","","scrollbars=auto,height="+altura1+",width="+largura1+",top="+t1+",left="+l1);</div>
<div>
newWindow.document.write(html);</div>
<div>
newWindow.document.close();</div>
<div> event.cancelBubble =
true;</div>
<div> return false;</div>
<div>}</div>
<div>//--></div>
<div></script></div>
<div><style type="text/css"><!--</div>
<div>.multi_bg { background-image : linear-gradient(to right, rgba(30, 75, 115,
0.5), rgba(30, 75, 115, 0.5)); }</div>
<div>--></div>
<div></style></div>
<div></HEAD></div>
<div> <body
onload="init(this.form)" onHelp="return showSalaHelp()" BGCOLOR="#ADB6C6"
TEXT="#003366" class="multi_bg"></div>
<div> <form action="?entra"
method="POST" name="form" target="entrar" id="form" OnSubmit="return
Entra(this)"></div>
<div> <br></div>
<div> <strong><font
color="#ffffff"
size="2"> <label
class='sombra'><b>Escolha um tema para
entrar</label></font></strong> <img
src="/reuniao/imagem/help.gif"
onClick="showSalaHelp();document.form.tema.focus()" WIDTH="18" HEIGHT="18"
style="cursor:pointer" title ="Ajuda do sistema"></div>
<div> <br><br></div>
<div> <div align="center"></div>
<div>
<table></div>
<div>
<tr> </div>
<div>
<!-- <td width="33%"><div align="right"><font
class="sombra"><font color="#ffffff"
size="2"><b>Usuário </b></font></div></td>
--> </div>
<div>
<td><input type="hidden" name="login" class="campo"
onFocus="document.form.tema.focus()" onHelp="return
showSalaHelp()"></td></div>
<div>
</tr></div>
<div>
<tr> </div>
<div>
<td><div align="right"><font class="sombra"><font
color="#ffffff"
size="2"><b>Tema </b></font></div></td></div>
<div>
<td><input name="tema" type="text" class="campo" id="tema"
onHelp="return showSalaHelp()"></td></div>
<div>
</tr></div>
<div>
</table><br></div>
<div>
<table></div>
<div>
<tr></div>
<div>
<td> </td></div>
<div>
<td align="center" colspan=2><input type="submit" value="Entrar"
class="botao" STYLE='cursor: pointer;font-weight:bold'></td></div>
<div>
</tr></div>
<div>
</table><br></div>
<div> </div></div>
<div>§;&fim;}</div>
<div> </div>
<div>if ($qs eq "entra"){</div>
<div>if ($CAMPO{login} eq ""){ </div>
<div>print
qq|<br><br><br><br><br><br><br><br><br><br><br><br>|;
</div>
<div>&topo;</div>
<div>print qq|<br>Você deve digitar um nome de usuário antes de entrar na
sala ! <br><br></div>
<div><div align="center"></div>
<div><input type="button" class="botao2" onClick="javascript:windows.close()"
value="Fechar Janela"><br></div>
<div></div></div>
<div>|;</div>
<div>&fim;</div>
<div>}else{ </div>
<div>if ($CAMPO{tema} eq "" ){ </div>
<div>print
qq|<br><br><br><br><br><br><br><br><br><br><br><br>|;
</div>
<div>&topo;</div>
<div>print qq|<br>Você deve digitar um tema antes de entrar na sala !
<br><br></div>
<div><div align="center"></div>
<div><input type="button" class="botao2" onClick="javascript:window.close()"
value="Fechar Janela"><br></div>
<div></div></div>
<div>|;</div>
<div>&fim;</div>
<div>}else{</div>
<div>if (-e "$CAMPO{tema}"."_"."$log"){ </div>
<div>open(ONLINE,"$CAMPO{tema}_$online");</div>
<div>@online = <ONLINE>;</div>
<div>close(ONLINE);</div>
<div> </div>
<div>foreach (@online){</div>
<div>chomp;</div>
<div>s/%//gi;</div>
<div>if ($CAMPO{login} eq "$_"){</div>
<div>$repetido = "1";</div>
<div>}else{</div>
<div>$repetido = "0";</div>
<div>}}</div>
<div>if ($repetido eq "1"){</div>
<div>print
qq|<br><br><br><br><br><br><br><br><br><br><br><br>|;
</div>
<div>&topo;</div>
<div>print qq|<br>Este nome de usuário já está em uso! Por favor escolha
outro.<br><br></div>
<div><div align="center"></div>
<div><input type="button" class="botao2" onClick="javascript:window.close()"
value="Fechar Janela"><br></div>
<div></div></div>
<div>|;&fim;</div>
<div>}else{</div>
<div>open(MASTER,"$CAMPO{tema}_$master");</div>
<div>$master = <MASTER>;</div>
<div>close(MASTER);</div>
<div>chomp $master;</div>
<div>$master =~ s/%//gi;</div>
<div> </div>
<div>if ($CAMPO{login} eq $master){$a = "1";} else {$a = "0";}</div>
<div>open(ONLINE,">>$CAMPO{tema}_$online");</div>
<div>print ONLINE qq|%$CAMPO{login}%\n|;</div>
<div>close(ONLINE);</div>
<div> </div>
<div>open (SALA, ">>$CAMPO{tema}_$log");</div>
<div>print SALA qq|<font class="texto"><i>($data)</i>
<b>$CAMPO{login}</b> entrou na
sala</b></font><br>\n|;</div>
<div>close(SALA);</div>
<div> </div>
<div>open (SALA, ">>$CAMPO{tema}_$log2");</div>
<div>print SALA qq|<font class="texto"><i>($data)</i>
<b>$CAMPO{login}</b> entrou na
sala</b></font><br>\n|;</div>
<div>close(SALA);</div>
<div> </div>
<div>&topo;&msg;&fim;</div>
<div>}}else{</div>
<div> </div>
<div>open(MASTER,">$CAMPO{tema}_$master");</div>
<div>print MASTER qq|%$CAMPO{login}%\n|;</div>
<div>close(MASTER);</div>
<div> </div>
<div>open(ONLINE,">>$CAMPO{tema}_$online");</div>
<div>print ONLINE qq|%$CAMPO{login}%\n|;</div>
<div>close(ONLINE);</div>
<div> </div>
<div>open (SALA, ">>$CAMPO{tema}_$log");</div>
<div>print SALA qq|<div align="center"><font
class="texto"><h5>ATA DA REUNIÃO : <font
size=4><b>$CAMPO{tema}
</b></font></div><hr>\n|;</div>
<div>print SALA qq|<font class="texto"><i>($data)</i>
<b>$CAMPO{login}</b> entrou na
sala</b></font><br>\n|;</div>
<div>close(SALA);</div>
<div> </div>
<div>open (SALA, ">>$CAMPO{tema}_$log2");</div>
<div>print SALA qq|<div align="center"><font
class="texto"><h5>ATA DA REUNIÃO : <font
size=4><b>$CAMPO{tema}
</b></font></div><hr>\n|;</div>
<div>print SALA qq|<font class="texto"><i>($data)</i>
<b>$CAMPO{login}</b> entrou na
sala</b></font><br>\n|;</div>
<div>close(SALA);</div>
<div>$a = "1";</div>
<div>&topo;&msg;&fim;</div>
<div>}}}}</div>
<div> </div>
<div>if ($qs eq "escreve2"){</div>
<div>$CAMPO{msg} =~ tr/+/ /;</div>
<div>$CAMPO{msg} =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div>$CAMPO{tema} =~ tr/+/ /;</div>
<div>$CAMPO{tema} =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div>if ($CAMPO{msg} eq ""){</div>
<div>print qq|</div>
<div><script language="Javascript"></div>
<div><!--</div>
<div>alert ('Mensagem não informada')</div>
<div>//--></div>
<div></script></div>
<div><body
onLoad="this.location.href('?principal2=$CAMPO{tema}-$CAMPO{login}')"></div>
<div>|;}else{</div>
<div> </div>
<div>if ($CAMPO{msg} eq "REUNIÃO FINALIZADA"){</div>
<div> </div>
<div>open(LOG,">>$CAMPO{tema}"."_"."$log");</div>
<div>print LOG qq|<br><div align="center"><font
class="texto"><b>REUNIÃO
FINALIZADA</b></font></div><br>\n|;</div>
<div>close(LOG);</div>
<div> </div>
<div>open(LOG,">$CAMPO{tema}"."_"."$log2");</div>
<div>print LOG qq|<br><div align="center"><font
class="texto"><b>REUNIÃO
FINALIZADA</b></font></div><br>\n|;</div>
<div>close(LOG);</div>
<div> </div>
<div>print qq|</div>
<div><body
onLoad="this.location.href('?principal2=$CAMPO{tema}-$CAMPO{login}')"></div>
<div>|;</div>
<div>}else{</div>
<div> </div>
<div>open(LOG,"$CAMPO{tema}"."_"."$log");</div>
<div>@log = <LOG>;</div>
<div>close(LOG);</div>
<div>$r = "0";</div>
<div>foreach (@log){</div>
<div>chomp;</div>
<div>if($_ eq "<br><div align=\"center\"><font
class=\"texto\"><b>REUNIÃO
FINALIZADA</b></font></div><br>"){</div>
<div>$r = "1";</div>
<div>}}</div>
<div> </div>
<div>if ($r eq "1"){</div>
<div>print qq|</div>
<div><body
onLoad="this.location.href('?principal2=$CAMPO{tema}-$CAMPO{login}')"></div>
<div>|;</div>
<div>}else{</div>
<div> </div>
<div>open(LOG,">>$CAMPO{tema}"."_"."$log");</div>
<div>print LOG qq|<font class="texto"><i>($data)</i>
<b>$CAMPO{login}</b>
<i>diz</i>
$CAMPO{msg}</font><br>\n|;</div>
<div>close(LOG);</div>
<div>open(LOG,">>$CAMPO{tema}"."_"."$log2");</div>
<div>print LOG qq|<font class="texto"><i>($data)</i>
<b>$CAMPO{login}</b>
<i>diz</i>
$CAMPO{msg}</font><br>\n|;</div>
<div>close(LOG);</div>
<div>print qq|</div>
<div><body
onLoad="this.location.href('?principal2=$CAMPO{tema}-$CAMPO{login}')"></div>
<div>|;}}}}</div>
<div> </div>
<div>if ($qs =~ /imprimir/){</div>
<div>&imprimir;</div>
<div>}</div>
<div> </div>
<div>if ($qs =~ /logout/){</div>
<div>&logout;</div>
<div>}</div>
<div> </div>
<div>if ($qs =~ /principal/){</div>
<div>&principal;</div>
<div>}</div>
<div> </div>
<div>if ($qs =~ /principal2/){</div>
<div>&principal2;</div>
<div>}</div>
<div> </div>
<div>if ($qs =~ /todas/){</div>
<div>&todas;</div>
<div>}</div>
<div> </div>
<div>sub data{</div>
<div>($seg,$min,$hr,$dia,$mes,$ano) = localtime();</div>
<div>if ($hr < "10"){$hr = "0$hr";}</div>
<div>if ($min < "10"){$min = "0$min";}</div>
<div>if ($seg < "10"){$seg = "0$seg";}</div>
<div> </div>
<div>@mes =
("janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro");</div>
<div>$ano = 1900+$ano;</div>
<div> </div>
<div>$data = "$hr:$min:$seg, $dia de @mes[$mes] de $ano";</div>
<div>}</div>
<div> </div>
<div>sub fim{</div>
<div>open(FIM,"$fim");</div>
<div>@fim=<FIM>;</div>
<div>close(FIM);</div>
<div>print "@fim";</div>
<div>}</div>
<div> </div>
<div>sub imprimir {</div>
<div>$qs =~ s/imprimir=//;</div>
<div>$qs =~ tr/+/ /;</div>
<div>$qs =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div> </div>
<div>open (LOG,"$qs"."_"."$log");</div>
<div>@log = <LOG>;</div>
<div>close(LOG);</div>
<div> </div>
<div>print qq|</div>
<div><html></div>
<div><head></div>
<div><title>$titulo</title></div>
<div>@style</div>
<div></head></div>
<div><body onload="this.window.print()"></div>
<div>@log</div>
<div></body></div>
<div>|;}</div>
<div> </div>
<div>sub logout{</div>
<div>$qs =~ s/logout=//gi;</div>
<div>($login,$tema) = split (/-/,$qs);</div>
<div>$login =~ tr/+/ /;</div>
<div>$login =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div>$tema =~ tr/+/ /;</div>
<div>$tema =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div> </div>
<div>open(LOG,">>$tema"."_"."$log2");</div>
<div>print LOG qq|<font class="texto"><i>($data)</i>
<b>$login</b> saiu da
sala</b></font><br>\n|;</div>
<div>close(LOG);</div>
<div> </div>
<div>open(LOG,">>$tema"."_"."$log");</div>
<div>print LOG qq|<font class="texto"><i>($data)</i>
<b>$login</b> saiu da
sala</b></font><br>\n|;</div>
<div>close(LOG);</div>
<div> </div>
<div>open(ONLINE,"$tema"."_"."$online");</div>
<div>@online = <ONLINE>;</div>
<div>close(ONLINE);</div>
<div> </div>
<div>@on = @online;</div>
<div>foreach (@on){</div>
<div>chomp;</div>
<div>if ($_ =~ /%$login%/){</div>
<div>s/$_//;</div>
<div>}}</div>
<div> </div>
<div>open(ONLINE,">$tema"."_"."$online");</div>
<div>print ONLINE qq|@on|;</div>
<div>close(ONLINE);</div>
<div> </div>
<div>open(ONLINE,"$tema"."_"."$online");</div>
<div>@online = <ONLINE>;</div>
<div>close(ONLINE);</div>
<div> </div>
<div>if (length ("@online") eq "0"){</div>
<div>unlink("$tema"."_"."$master"); ######################### aqui elimina
os arquivos de trabalho ###################################</div>
<div>unlink("$tema"."_"."$online"); ################# não está
sendo executado no edge
###########################################</div>
<div>unlink("$tema"."_"."$log2");</div>
<div>unlink("$tema"."_"."$log");</div>
<div>}else{}</div>
<div> </div>
<div>print qq|</div>
<div><html></div>
<div><head></div>
<div><title>$titulo</title></div>
<div><meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"></div>
<div><script language="JavaScript"></div>
<div>function Logout(){</div>
<div>this.window.close()</div>
<div>}</div>
<div></script></div>
<div></head></div>
<div><body onload="javascript:Logout()"></div>
<div></body></div>
<div></html></div>
<div>|;}</div>
<div> </div>
<div>sub msg{</div>
<div>$qs =~ tr/+/ /;</div>
<div>$qs =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div>open (LOG, "$qs"."_"."$log2");</div>
<div>@log = <LOG>;</div>
<div>close(LOG);</div>
<div> </div>
<div>$finalizado = "0";</div>
<div> </div>
<div>foreach (@log){</div>
<div>chomp;</div>
<div>print $_;</div>
<div>if ($_ eq "REUNIÃO FINALIZADA"){</div>
<div>$finalizado = "1";</div>
<div>}}</div>
<div> </div>
<div>print qq|</div>
<div><script language="JavaScript"></div>
<div>function Imprimir(){</div>
<div>altura =690;</div>
<div>largura= 1090;</div>
<div>l = (screen.width - largura)/2;</div>
<div>t = (screen.height - altura - 50)/2; </div>
<div>window.open("?imprimir=$CAMPO{tema}","","scrollbars,height="+altura+",width="+largura+",top="+t+",left="+l);
</div>
<div>}</div>
<div></div>
<div>function unLoad(){</div>
<div>window.open("?logout=$CAMPO{login}-$CAMPO{tema}","","width=80,height=80")</div>
<div>}</div>
<div></script></div>
<div><body onunLoad="unLoad()"></div>
<div><table></div>
<div><tr><td></div>
<div><font class="texto1"><b> Usuário:
$CAMPO{login}</b></font> </div>
<div></td><td></div>
<div> <font class="texto1"><b> Tema:
$CAMPO{tema}<br></b></font></div>
<div></td><td></div>
<div>
<img src="/reuniao/imagem/calculadora.gif" onClick="calculadora()" WIDTH="18"
HEIGHT="22" style="cursor:pointer" title ="Calculadora
financeira"> </div>
<div></td><td></div>
<div>
<img src="/reuniao/imagem/Email.gif" onClick="email()" WIDTH="24" HEIGHT="20"
style="cursor:pointer" title ="Correspondência
interna"> </div>
<div></td><td></div>
<div>
<img src="/reuniao/imagem/acessorio.gif" onClick="acessorio()" WIDTH="24"
HEIGHT="20" style="cursor:pointer" title
="Acessórios"> </div>
<div></td><TD></div>
<div>
<img src="/reuniao/imagem/alarme.gif" onClick="alarme()" WIDTH="24"
HEIGHT="20" style="cursor:pointer" title
="Alarme"> </div>
<div></td></tr></table></div>
<div><iframe align="middle" src="?todas=$CAMPO{tema}" name="iframe"
width="1010" height="480" style="overlap:auto"></iframe></div>
<div><iframe align="middle" src="?principal2=$CAMPO{tema}-$CAMPO{login}"
name="iframe2" width="1010" height="75"
style="overlap:auto"></iframe></div>
<div><table></div>
<div><tr></div>
<div><td><input type="button" class="botao" value="Ata de reunião"
onClick="javascript:Imprimir()"
STYLE='cursor:pointer;font-weight:bold'></td></div>
<div><td> </td></div>
<div><td><div align="right"></div>
<div><input type="button" class="botao2" value="Sair da Sala"
onClick="javascript:window.close()"
STYLE='cursor:pointer;font-weight:bold'></div></td></div>
<div><td> </td></div>
<div>|;</div>
<div> </div>
<div>if($a eq "1"){print qq|<td><div align="center"></div>
<div><form name="form" method="post" action="?escreve2"
target="iframe2"></div>
<div>
<input name="msg" type="hidden" size="80" class="campo"
value="REUNIÃO FINALIZADA"></div>
<div>
<input name="login" type="hidden" class="campo"
value="$CAMPO{login}"></div>
<div>
<input name="tema" type="hidden" class="campo"
value="$CAMPO{tema}"></div>
<div>
<input type="submit" value="Encerrar Reunião" class="botao" STYLE='cursor:
pointer;font-weight:bold'>
</div>
<div></form></div>
<div></div></div>
<div></div></td></tr>|;}print
qq|</table><br>|;}</div>
<div> </div>
<div>sub principal{</div>
<div>$qs =~ s/principal=//;</div>
<div>$qs =~ tr/+/ /;</div>
<div>$qs =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div> </div>
<div>open (LOG, $qs."_".$log2);</div>
<div>@log = <LOG>;</div>
<div>close(LOG);</div>
<div> </div>
<div>$finalizado = "0";</div>
<div> </div>
<div>foreach (@log){</div>
<div>chomp;</div>
<div>if ($_ eq "REUNIÃO FINALIZADA"){</div>
<div>$finalizado = "1";</div>
<div>}}</div>
<div>if ($finalizado eq "1"){print qq|</div>
<div><font class="texto"></div>
<div>A REUNIÃO FOI FINALIZADA. VOCÊ PODE IMPRIMIR OU VISUALIZAR O
RELATÓRIO</div>
<div></font>|;</div>
<div> </div>
<div>}else{print qq|</div>
<div><html></div>
<div><head></div>
<div> </div>
<div>@style</div>
<div><script language="JavaScript"></div>
<div><!--</div>
<div> function scroll() {</div>
<div> if( document.body &&
document.body.clientHeight ) {</div>
<div> window.innerHeight =
document.body.clientHeight</div>
<div> }</div>
<div> window.scrollTo( 0, (window.innerHeight/0.1)
)</div>
<div> }</div>
<div> </div>
<div> function focus(){</div>
<div> document.form.msg.focus()</div>
<div> }</div>
<div> </div>
<div> function enter(string){</div>
<div>
insertAtCaret(document.form.msg,string); </div>
<div>
focus()</div>
<div> }</div>
<div> </div>
<div> function insertAtCaret (textObj, textFeildValue) {</div>
<div> if(document.all){ </div>
<div> if
(textObj.createTextRange && textObj.caretPos) {</div>
<div>
var caretPos = textObj.caretPos;</div>
<div>
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' '
?textFeildValue + ' ' : textFeildValue;</div>
<div>
}else{</div>
<div>
textObj.value = textFeildValue;</div>
<div> }</div>
<div> }else{</div>
<div>
if(textObj.setSelectionRange){</div>
<div>
var rangeStart = textObj.selectionStart;</div>
<div>
var rangeEnd = textObj.selectionEnd;</div>
<div>
var tempStr1 = textObj.value.substring(0,rangeStart);</div>
<div>
var tempStr2 = textObj.value.substring(rangeEnd);</div>
<div>
textObj.value = tempStr1 + textFeildValue + tempStr2;</div>
<div> }else{</div>
<div>
alert("Esta versão do navegador não suporta setSelectionRange");</div>
<div> }</div>
<div> }</div>
<div> }</div>
<div> </div>
<div> function clear_field(){</div>
<div> document.form.msg.value = ''</div>
<div> document.form.msg.focus()</div>
<div> document.form.msg.select() </div>
<div> }</div>
<div> </div>
<div> function anexar(){</div>
<div>
altura = 450;</div>
<div>
largura= 700;</div>
<div> l
= (screen.width - largura)/2;</div>
<div> t
= (screen.height - altura -
50)/2;
</div>
<div>
var html = '<HTML><HEAD><TITLE></TITLE>'</div>
<div>
html += '</HEAD><BODY background="/reuniao/imagem/papel.jpg"
TEXT="#000066">'</div>
<div>
html += '<BR><BR><BR><table
align=center><tr><th><h3><label style="color: white;
text-shadow: 1px 2px 4px #000, 0 0 0 #000, 2px 4px 6px #000">Apresentar
documento como
anexo</label></h3></th></tr></table><br><br>'</div>
<div>
html += '<FORM NAME="anexo" METHOD="POST" ACTION="/reuniao/temp/upload.plx"
ENCTYPE="multipart/form-data">'</div>
<div>
html += '<br>'</div>
<div>
html += '<TABLE align=center>'</div>
<div>
html += '<tr>'</div>
<div>
html += '<td><input type="file" name="arquivo" size="60"
maxlength="90"></td>'</div>
<div>
html += '</tr>'</div>
<div>
html += '</table>'</div>
<div>
html += '<br><br><br>'</div>
<div>
html += '<TABLE align=center>'</div>
<div>
html += '<tr>'</div>
<div>
html += '<td bgcolor=#ADB6C6><input type="submit"
value=" Processa " style="color: white;
text-shadow: 1px 2px 4px #000, 0 0 0 #000, 2px 4px 6px
#000"></td>'</div>
<div>
html += '</TR>'</div>
<div>
html += '</table>'</div>
<div>
html += '</form>' </div>
<div>
html += '</body>'</div>
<div>
html += '</html>'</div>
<div>
var newWindow =
window.open("","","scrollbars=no,menubar=no,height="+altura+",width="+largura+",top="+t+",left="+l)</div>
<div>
newWindow.document.write(html)</div>
<div>
newWindow.document.close()</div>
<div>
focus()</div>
<div>
return
false
</div>
<div> }</div>
<div> </div>
<div> function publicar(){</div>
<div>
altura = 450;</div>
<div>
largura= 700;</div>
<div> l
= (screen.width - largura)/2;</div>
<div> t
= (screen.height - altura -
50)/2;
</div>
<div>
var html = '<HTML><HEAD><TITLE></TITLE>'</div>
<div>
html += '</HEAD><BODY background="/reuniao/imagem/papel.jpg"
TEXT="#ffffff">'</div>
<div>
html += '<BR><BR><BR><table
align=center><tr><th><h3><label style="color: white;
text-shadow: 1px 2px 4px #000, 0 0 0 #000, 2px 4px 6px #000">Ponto de
publicação
web</label></h3></th></tr></table><br><br>'</div>
<div>
html += '<FORM NAME="publica" METHOD="POST"
ACTION="/reuniao/temp/publica.plx">'</div>
<div>
html += '<br>'</div>
<div>
html += '<TABLE align=center>'</div>
<div>
html += '<tr>'</div>
<div>
html += '<td><input type="text" name="http" size="60" maxlength="90"
value = "<a>http://"</a>></td>'</div>
<div>
html += '</tr>'</div>
<div>
html += '</table>'</div>
<div>
html += '<br><br><br>'</div>
<div>
html += '<TABLE align=center>'</div>
<div>
html += '<tr>'</div>
<div>
html += '<td bgcolor=#ADB6C6><input type="submit"
value=" Processa " style="color: white;
text-shadow: 1px 2px 4px #000, 0 0 0 #000, 2px 4px 6px
#000"></td>'</div>
<div>
html += '</TR>'</div>
<div>
html += '</table>'</div>
<div>
html += '</form>' </div>
<div>
html += '</body>'</div>
<div>
html += '</html>'</div>
<div>
var newWindow =
window.open("","","scrollbars=no,menubar=no,height="+altura+",width="+largura+",top="+t+",left="+l)</div>
<div>
newWindow.document.write(html)</div>
<div>
newWindow.document.close()</div>
<div>
focus()</div>
<div>
return
false
</div>
<div> }</div>
<div> </div>
<div> function showMsgHelp() {</div>
<div>
alert("
SALA DE REUNIÃO ONLINE\\n\\nMensagem -> Campo alfa numérico com tamanho de
300 caracteres e diferente de espaço.\\n\\nNota - É recomendável que uma linha
de mensagem tenha no máximo 80 caracteres visando dar maior clareza no relatório
ATA DE REUNIÃO.\\n\\nTAGS ESPECIAIS PARA FORMATAÇÃO DE TEXTO\\n\\n<br> -
Salto de linha\\n<p> - Salto de parágrafo\\n<b>texto</b> -
Texto em negrito\\n<font size=4>texto</font> - Texto com fonte igual
a 4 pixel\\n<font color=red>texto</font> - Texto com cor em
vermelho\\n<i>texto</i> - Texto em
itálico\\n<u>texto</u> - Texto
sublinhado\\n<sub>texto</sub> - Texto
subscrito\\n<sup>texto</sup> - Texto
sobrescrito\\n<ol><li>texto1<li>texto2<li>texto3</ol>
- Lista numérica dos textos\\n<li>texto1<li>texto2<li>texto3 -
Marcação dos textos\\n\\nNota - Os parâmetros de formatação de texto podem ser
utilizados
simultaneamente.\\n\\n
EXEMPLO DE UTILIZAÇÃO\\n\\nOlá sr(s) , bom dia a todos<br>Vamos dicurtir a
<font size=3 color=red><b>Aquisição do imóvel em São
Paulo.</b></font><br>O Paulo vai nos descrever as alternativas
que dispomos.\\n\\n\\nFUNÇÕES ESPECIAIS PARA FORMATAÇÃO DE TEXTO\\n\\nLimpa
- Move espaço para o campo mensagem\\nLinha
- Move <br> para o campo mensagem para
quebrar linha\\nLista - Move marcador
<li> para o campo mensagem com salto de linha\\nNumérico Move marcador
<ol> para o campo mensagem\\nCola
- Coloca texto da área de
transferência no campo mensagem\\nAnexa - Disponibiliza
documento como um anexo para apresentação\\nPublica - Disponibiliza
um link de acesso referente a uma publicação na internet\\nRealça
- Evidência uma parte do texto selecionado no campo
mensagem\\nSublinha - Realça um texto selecionado no campo mensagem
sublinhando-o")</div>
<div> event.cancelBubble = true</div>
<div> return false</div>
<div> } </div>
<div> </div>
<div>//--></div>
<div></script></div>
<div></head></div>
<div><body></div>
<div>@log</div>
<div></body></div>
<div></html>|;</div>
<div>}}</div>
<div> </div>
<div>sub principal2 {</div>
<div>$qs =~ s/principal2=//;</div>
<div>($tema,$login) = split (/-/,$qs);</div>
<div>$tema =~ tr/+/ /;</div>
<div>$tema =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div>$login =~ tr/+/ /;</div>
<div>$login =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div> </div>
<div>print qq|</div>
<div>@style</div>
<div> </div>
<div><body onLoad="document.form.msg.focus()" onHelp="return
showMsgHelp()" class="table3" leftmargin="0" topmargin="0" marginwidth="0"
marginheight="0"></div>
<div><div align="center"></div>
<div><table></div>
<div> <tr></div>
<div> <td> </td></div>
<div> <td bgcolor='lightsteelblue'><img
src="/reuniao/imagem/clear.png" onClick="clear_field()" WIDTH="24"
HEIGHT="20" style="cursor:pointer" title ="Limpar campo mensagem"
STYLE='cursor: pointer; font-family: Arial, Helvetica, sans-serif; font-size:
10px; border-width:
2;color:#003366;border-style:outset;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><img
src="/reuniao/imagem/linha.png" onClick="enter('<br>')"
WIDTH="20" HEIGHT="20" style="cursor:pointer" title ="Salto de linha"
STYLE='cursor: pointer; font-family: Arial, Helvetica, sans-serif; font-size:
10px; border-width:
2;color:#003366;border-style:outset;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><img
src="/reuniao/imagem/lista.gif" onClick="enter('<li>')"
WIDTH="20" HEIGHT="20" style="cursor:pointer" title ="Marcador de lista"
STYLE='cursor: pointer; font-family: Arial, Helvetica, sans-serif; font-size:
10px; border-width:
2;color:#003366;border-style:outset;font-weight:600'></td> </div>
<div> <td bgcolor='lightsteelblue'><img
src="/reuniao/imagem/nlist.gif" onClick="enter('<ol>')"
WIDTH="20" HEIGHT="20" style="cursor:pointer" title ="Marcador numérico"
STYLE='cursor: pointer; font-family: Arial, Helvetica, sans-serif; font-size:
10px; border-width:
2;color:#003366;border-style:outset;font-weight:600'></td> </div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" Á "
onClick="enter('Á')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" á "
onClick="enter('á')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" à "
onClick="enter('à')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" ã "
onClick="enter('ã')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" â "
onClick="enter('â')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" É "
onClick="enter('É')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" é "
onClick="enter('é')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" ê "
onClick="enter('ê')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" í "
onClick="enter('í')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" õ "
onClick="enter('õ')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" ó "
onClick="enter('ó')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" ô "
onClick="enter('ô')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" ú "
onClick="enter('ú')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" Ç "
onClick="enter('Ç')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><input
type="button" value=" ç "
onClick="enter('ç')" STYLE='cursor: pointer; font-family:
Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;font-weight:600'></td></div>
<div> <td bgcolor='lightsteelblue'><img
src="/reuniao/imagem/anexo.png"
onClick="anexar()" WIDTH="20" HEIGHT="20"
style="cursor:pointer" title ="Anexar docto" STYLE='cursor: pointer;
font-family: Arial, Helvetica, sans-serif; font-size: 10px; border-width:
2;color:#003366;border-style:outset;font-weight:600'></td> </div>
<div> <td bgcolor='lightsteelblue'><img
src="/reuniao/imagem/wlink.gif"
onClick="publicar()" WIDTH="20" HEIGHT="20"
style="cursor:pointer" title ="Publicar um link da internet"
STYLE='cursor: hand; font-family: Arial, Helvetica, sans-serif; font-size: 10px;
border-width:
2;color:#003366;border-style:outset;font-weight:600'></td> </div>
<div> <td bgcolor='lightsteelblue'><img
src="/reuniao/imagem/help.gif" onClick="showMsgHelp()"
WIDTH="18" HEIGHT="18" style="cursor:pointer" title ="Ajuda do sistema"
STYLE='cursor: pointer; font-family: Arial, Helvetica, sans-serif; font-size:
10px; border-width:
2;color:#003366;border-style:outset;font-weight:600'></td> </div>
<div></tr></div>
<div></table><br></div>
<div><table align="center"></div>
<div> <tr></div>
<div> <td class="texto"><form name="form"
method="post" action="?escreve2"></div>
<div> <div
align="center"><b><font size=2><label
class='sombra'> Mensagem
</label></b></fonte> </div>
<div>
<input name="msg"
type="text" class="campo" size="120"
maxlength="300" onHelp="return showMsgHelp()"></div>
<div>
<input name="login" type="hidden" class="campo"
value="$login"></div>
<div>
<input name="tema" type="hidden"
class="campo" value="$tema"></div>
<div>
<input type="submit" value="Enviar" class="botao"
>
</div>
<div> </div></div>
<div> </td></div>
<div> </tr></div>
<div></table></div>
<div></form></div>
<div></div></div>
<div></body></div>
<div>|;}</div>
<div> </div>
<div>sub style{</div>
<div>open(STYLE, "$estilos");</div>
<div>@style = <STYLE>;</div>
<div>close(STYLE);</div>
<div>}</div>
<div> </div>
<div>sub todas{</div>
<div>$qs =~ s/todas=//;</div>
<div>$qs =~ tr/+/ /;</div>
<div>$qs =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;</div>
<div> </div>
<div>open (LOG, $qs."_".$log);</div>
<div>@log = <LOG>;</div>
<div>close(LOG);</div>
<div> </div>
<div>print qq|</div>
<div><meta http-equiv="refresh" content="5,?todas"/> #####################
aqui reenvia mensagens para os participantes #############################</div>
<div>@style</div>
<div><script></div>
<div><!--</div>
<div> function rolar() {</div>
<div> if( document.body && document.body.clientHeight
) {</div>
<div> window.innerHeight =
document.body.clientHeight</div>
<div> }</div>
<div> window.scrollTo( 0, (window.innerHeight/0.1) );</div>
<div> }</div>
<div>//--></div>
<div></script></div>
<div><body onLoad="javascript:rolar()"></div>
<div>@log|;}</div>
<div> </div>
<div>sub topo{</div>
<div>open(TOPO,"$topo");</div>
<div>@topo=<TOPO>;</div>
<div>close(TOPO);</div>
<div>print "@topo";</div>
<div>}</div></div></div></div></div></div>
<br></div></div>=begin disclaimer<br>
Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" rel="noreferrer" target="_blank">http://sao-paulo.pm.org/</a><br>
SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" rel="noreferrer" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br></div>
<br>=begin disclaimer<br>
Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" rel="noreferrer" target="_blank">http://sao-paulo.pm.org/</a><br>
SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" rel="noreferrer" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br><br clear="all"><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- <br><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr">Thank you very much!</div><div dir="ltr"><br></div><div dir="ltr">-dom</div><div dir="ltr"><br></div><div dir="ltr">--</div><div dir="ltr"><br></div><div dir="ltr">Daniel de Oliveira Mantovani</div><div dir="ltr">Business Analytic Specialist</div><div dir="ltr">Perl Evangelist /Astrophysics hobbyist. </div><div dir="ltr">+55 11 9 8538-9897</div><div dir="ltr">XOXO</div></div></div></div></div></div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr">Thank you very much!</div><div dir="ltr"><br></div><div dir="ltr">-dom</div><div dir="ltr"><br></div><div dir="ltr">--</div><div dir="ltr"><br></div><div dir="ltr">Daniel de Oliveira Mantovani</div><div dir="ltr">Business Analytic Specialist</div><div dir="ltr">Perl Evangelist /Astrophysics hobbyist. </div><div dir="ltr">+55 11 9 8538-9897</div><div dir="ltr">XOXO</div></div></div></div></div></div>
</div>