<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.16850" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Gostei do exemplo que vc colou lá no
Pastebin..</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>ótimo código, bem limpo e simples...</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>VIvendo e aprendendo, </FONT></DIV>
<DIV><FONT face=Arial size=2>valeu pela dica..</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>abs</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=shonorio@gmail.com href="mailto:shonorio@gmail.com">Solli Honorio</A>
</DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=saopaulo-pm@mail.pm.org
href="mailto:saopaulo-pm@mail.pm.org">saopaulo-pm@mail.pm.org</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Wednesday, July 08, 2009 11:30
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [SP-pm] Problemas numa
comparação</DIV>
<DIV><BR></DIV>Meu querido, tire o sotaque de C e coloque o sotaque de Perl,
então :<BR><BR>... de :<BR><code><BR>
<OL style="FONT-FAMILY: courier new,monospace">
<LI class=li2>
<DIV class=de2><SPAN class=kw1>my</SPAN> <SPAN class=re0>$num</SPAN> = <SPAN
class=nu0>0</SPAN>;</DIV>
<LI class=li1>
<DIV class=de1><SPAN class=kw1>for</SPAN> <SPAN class=br0>(</SPAN><SPAN
class=kw1>my</SPAN> <SPAN class=re0>$i</SPAN> = <SPAN class=nu0>0</SPAN>;
<SPAN class=re0>$i</SPAN> < <SPAN class=nu0>8</SPAN>; <SPAN
class=re0>$i</SPAN>++<SPAN class=br0>)</SPAN> <SPAN class=br0>{</SPAN></DIV>
<LI class=li2>
<DIV class=de2> <SPAN class=kw1>if</SPAN> <SPAN
class=br0>(</SPAN><SPAN class=re0>$options</SPAN><SPAN
class=br0>[</SPAN><SPAN class=re0>$i</SPAN><SPAN class=br0>]</SPAN> eq <SPAN
class=st0>"S"</SPAN><SPAN class=br0>)</SPAN> <SPAN class=br0>{</SPAN></DIV>
<LI class=li1>
<DIV class=de1> <SPAN class=re0>$num</SPAN> =
set_bit<SPAN class=br0>(</SPAN><SPAN class=re0>$num</SPAN>, <SPAN
class=re0>$i</SPAN><SPAN class=br0>)</SPAN>;</DIV>
<LI class=li2>
<DIV class=de2> <SPAN class=br0>}</SPAN></DIV>
<LI class=li1>
<DIV class=de1><SPAN
class=br0>}</SPAN></DIV></LI></OL></code><BR><BR>para ... :
<BR><code><BR>
<OL style="FONT-FAMILY: courier new,monospace">
<LI class=li1>
<DIV class=de1><SPAN class=kw1>for</SPAN> <SPAN class=br0>my $i ( 0..7
</SPAN><SPAN class=br0>)</SPAN> <SPAN class=br0>{</SPAN></DIV>
<LI class=li2>
<DIV class=de2> <SPAN class=kw1>if</SPAN> <SPAN
class=br0>(</SPAN><SPAN class=re0>$options</SPAN><SPAN
class=br0>[</SPAN><SPAN class=re0>$i</SPAN><SPAN class=br0>]</SPAN> eq <SPAN
class=st0>"S"</SPAN><SPAN class=br0>)</SPAN> <SPAN class=br0>{</SPAN></DIV>
<LI class=li1>
<DIV class=de1> <SPAN class=re0>$num</SPAN> =
set_bit<SPAN class=br0>(</SPAN><SPAN class=re0>$num</SPAN>, <SPAN
class=re0>$i</SPAN><SPAN class=br0>)</SPAN>;</DIV>
<LI class=li2>
<DIV class=de2> <SPAN class=br0>}</SPAN></DIV>
<LI class=li1>
<DIV class=de1><SPAN
class=br0>}</SPAN></DIV></LI></OL><BR></code><BR><BR>
<DIV class=gmail_quote>2009/7/8 Blabos de Blebe <SPAN dir=ltr><<A
href="mailto:blabos@gmail.com">blabos@gmail.com</A>></SPAN><BR>
<BLOCKQUOTE class=gmail_quote
style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">6000
campos? 200000 campos?<BR><BR>O que é um campo, nesse contexto? Não conheço
o tal do SPSS.<BR><BR>Você usa algum banco de dados, tipo MySQL,
Postgres?<BR><BR>Mas voltando ao assunto?<BR><BR>Pelo que eu entendi, denovo
supondo, você tem algo como:<BR><BR><SPAN
style="FONT-FAMILY: courier new,monospace">----------| Maçã | Laranja |
Abacaxi | Banana</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN
style="FONT-FAMILY: courier new,monospace">Wesley | Não |
Sim | Não | Não</SPAN><BR
style="FONT-FAMILY: courier new,monospace"><SPAN
style="FONT-FAMILY: courier new,monospace">Solli | Não |
Sim | Sim | Não</SPAN><BR
style="FONT-FAMILY: courier new,monospace"><SPAN
style="FONT-FAMILY: courier new,monospace">Montovani | Não | Não
| Não | Sim</SPAN><BR><BR>E quer transformar
em:<BR><BR><SPAN style="FONT-FAMILY: courier new,monospace">----------|
Frutas |</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN
style="FONT-FAMILY: courier new,monospace">Wesley | 4
|</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN
style="FONT-FAMILY: courier new,monospace">Solli | 6
|</SPAN><BR style="FONT-FAMILY: courier new,monospace"><SPAN
style="FONT-FAMILY: courier new,monospace">Montovani | 1
|</SPAN><BR><BR>Neste caso, me veio à cabeça algo assim:<BR><BR><A
href="http://pastebin.com/m729e79c7"
target=_blank>http://pastebin.com/m729e79c7</A><BR><BR>Abraços
<DIV>
<DIV></DIV>
<DIV class=h5><BR><BR>2009/7/8 <<A
href="mailto:claudio@dpreferencial.com.br"
target=_blank>claudio@dpreferencial.com.br</A>><BR>><BR>> A todos
boa noite!<BR>> <BR>> Soli,<BR>> valeu a intenção, mas assim
não rola..<BR>> já resolvi isto com & mesmo...<BR>> <BR>>
Estou passando o meu sistema que é em Delphi..mas...<BR>> sou novato
total em Perl...rsrs...<BR>> <BR>> <BR>> Respondendo a
sua pergunta:<BR>> ________________<BR>> Um breve histórico:<BR>>
<BR>> Eu trabalho com processamento de pesquisas de mercado.
(tabulação)<BR>> <BR>> No começo trabalhei muito anos com
Statiscs SPSS, Statiscs ... (com estes programas as bases ficavam realmente
gigantes..rsrs..200.000 campos..rsrs)<BR>> acabei desenvolvendo meu
próprio sistema de tabulação.<BR>> <BR>> Desenvolvi um
formato para o meu arquivo de dados,<BR>> levando em consideração minhas
necessidades, tais como:<BR>> <BR>> - conteúdo
criptografado.<BR>> - tamanho final do arquivo de base.<BR>> -
quantidade final de campos na base.<BR>> - base não normalizada =
campos multivalorados e dependentes..<BR>> - conteúdo dos campos:
numérico.<BR>> <BR>> levando em consideração que:<BR>> - 80%
dos campos de uma pesquisa são campos numéricos e RM (respostas
múltiplas=campos multivalorados)<BR>> Ex:<BR>> Quais
frutas vc gosta:<BR>> 1 - abacaxi<BR>> 2 - Mamão<BR>>
3 - abacate.... até o código 50.<BR>> <BR>>
um fulano responde os códigos 2/3/4/9/10/15<BR>> <BR>>
num buffer(array de boleanos) eu marco true nestas posição e
gravo.<BR>> <BR>> Veja, no SPSS ou em outras bases
"normais" eu precisaria de 15 campos para guardar as
informações,<BR>> quando que eu guardo num campo só..de tamanho bem
pequeno...rsrs..<BR>> <BR>> (não percebeu meu nome
..rsrs => Binaghi = Binário..rsrs.. aqui só rola um
neurônio, que de vez em quando resolve ficar True..rsrs)<BR>>
____________________________________________________<BR>>
____________________________________________________<BR>> <BR>>
(é um código totalmente grosso..mas funfa..rsrs)<BR>> <BR>> É
assim que eu faço:<BR>> <BR>> Leio o arq:<BR>> <BR>>
open(tap,"<$PathHtdocs");<BR>> binmode tap;<BR>>
my ($buf, $data, $n, @cont);<BR>>
while (($n = read tap, $data, $x) != 0)
{<BR>> print "$n
bytes read\n";<BR>> $buf
.= $data;<BR>> }<BR>>
print "$buf";<BR>>
close(tap);<BR>> @cont=split(//,$buf);<BR>> <BR>>
Comparo o conteúdo:<BR>> <BR>> push (@byt,1);<BR>>
push (@byt,2);<BR>> push (@byt,4);<BR>> push
(@byt,8);<BR>> push (@byt,16);<BR>> push
(@byt,32);<BR>> push (@byt,64);<BR>> push
(@byt,128);<BR>> my @res;<BR>> my
$RecCount=$n*8;<BR>> for($a=1;$a<=$RecCount+1;$a++){<BR>>
push (@res,0);<BR>> }<BR>>
my $pos=0;<BR>> for($a=1;$a<=$n;$a++){<BR>>
$val=$cont[$a];<BR>> print "----> testa valor
$a:=$cont[$a]<br>\n"; <BR>>
if(ord($val)!=0){<BR>>
for($k=0;$k<=7;++$k){<BR>>
$pos=8*($a-1)+$k+1;<BR>>
$ord=ord($val);<BR>>
if(ord($val) &
$byt[$k]) {<BR>>
$res[$pos]=1;<BR>>
$r=ver_conteudo(ord($val),$byt[$k]);<BR>> print "----> res[$pos]:=1 /
$r<br>\n";<BR>>
}<BR>>
}<BR>> }<BR>>
}<BR>> ____________________________________________________<BR>>
____________________________________________________<BR>> <BR>>
Esse formato é para as respostas no formato de códigos,<BR>> os textos,
destes códigos, ficam guardados em outro arquivo..<BR>> Tipo na base
normal se guarda no formato literal: Sim, Não..<BR>> na minha base quardo
1, 2 e tenho um texo só para sim e não..<BR>> <BR>>
Sacou...<BR>> <BR>> <BR>> Obrigado pela
atenção..<BR>> <BR>> Abs<BR>> <BR>> Claudio
H.Binaghi<BR>> <A href="mailto:claudio@dpreferencial.com.br"
target=_blank>claudio@dpreferencial.com.br</A><BR>> 5511
3288.4840<BR>> <BR>> <BR>> <BR>>
<BR>> <BR>><BR>> ----- Original Message -----<BR>>
From: Solli Honorio<BR>> To: <A href="mailto:saopaulo-pm@mail.pm.org"
target=_blank>saopaulo-pm@mail.pm.org</A><BR>> Sent: Wednesday, July 08,
2009 3:32 PM<BR>> Subject: Re: [SP-pm] Problemas numa comparação<BR>>
Claudio, eu não ví que vc já havia encontrado o teu problema, mas continuo
curioso sobre o teu trabalho... mas quero mostra uma outra solução para o
teu problema...<BR>><BR>> <code><BR>> sub ver_conteudo
{<BR>> return 1 << $_[0] & $_[1] ? 1 : 0;<BR>>
}<BR>><BR>> if ( ver_conteudo(1,6) ) {<BR>> print
"Verdadeiro\n";<BR>> } else {<BR>> print "Falso\n";<BR>>
}<BR>> </code><BR>><BR>> apesar de não ser tão legível (com
certeza percisa de uma explicação), é muito mais rápido pois não preciso
criar um array.<BR>><BR>> Solli M. Honório<BR>><BR>> 2009/7/8
Solli Honorio <<A href="mailto:shonorio@gmail.com"
target=_blank>shonorio@gmail.com</A>><BR>>><BR>>> Claudio, eu
não o que vc quer cara, não entendi o que vc quis dizer com 'É uma
comparação feita como entre Bytes como Boolean.', então vou responder o que
eu acho que deveria ser a tradução do teu código:<BR>>><BR>>>
<code><BR>>> sub ver_conteudo {<BR>>> my @bits =
(1,2,4,8,16,32,64,128);<BR>>> return $bits[1] & $_[0] ? 1 :
0;<BR>>> }<BR>>><BR>>> if ( ver_conteudo(8) )
{<BR>>> print "Verdadeiro\n";<BR>>> } else {<BR>>>
print "Falso\n";<BR>>> }<BR>>>
</code><BR>>><BR>>> Agora fiquei curioso, porque e como vc
está traduzindo um programa em Delphi para Perl ? Isto é para uma empresa
?<BR>>><BR>>> Abraços,<BR>>><BR>>> Solli M.
Honório<BR>>><BR>>> 2009/7/8 <<A
href="mailto:claudio@dpreferencial.com.br"
target=_blank>claudio@dpreferencial.com.br</A>><BR>>>><BR>>>>
<BR>>>> Pessoall, Boa tarde!<BR>>>>
<BR>>>> Como sempre, estou precisando de um
HELP!!!<BR>>>> <BR>>>> Estou passando um sistema de
Delphi para Perl<BR>>>> e não tenho consiguido
achar indicação <BR>>>> para desenvolver este trecho do
código.<BR>>>> <BR>>>> É uma comparação feita como
entre Bytes como Boolean.<BR>>>>
________________________________________________________________<BR>>>>
________________________________________________________________<BR>>>>
Segue o trecho do código:<BR>>>> <BR>>>> Procedure
Ver_Conteudo;<BR>>>> const BITS: array[0..7] of Byte =
(1,2,4,8,16,32,64,128);<BR>>>> Res:
Boolean;<BR>>>> Begin<BR>>>>
<BR>>>> Res := Boolean ( BITS[1] and 6
); // Este é o trecho que me interessa, este
resultado dá true.<BR>>>> <BR>>>> if (Res)
Then ShowMessage('True') else ShowMessage('False');<BR>>>>
<BR>>>> End;<BR>>>> <BR>>>>
________________________________________________________________<BR>>>>
________________________________________________________________<BR>>>>
<BR>>>> Qualquer ajuda/ luz, ajuda
muito...<BR>>>> <BR>>>> desde já agradeço a
todos.<BR>>>> <BR>>>> Abs<BR>>>>
<BR>>>> Claudio H.Binaghi<BR>>>> <A
href="mailto:claudio@dpreferencial.com.br"
target=_blank>claudio@dpreferencial.com.br</A><BR>>>> 5511
3288.4840<BR>>>><BR>>>>
_______________________________________________<BR>>>> SaoPaulo-pm
mailing list<BR>>>> <A href="mailto:SaoPaulo-pm@pm.org"
target=_blank>SaoPaulo-pm@pm.org</A><BR>>>> <A
href="http://mail.pm.org/mailman/listinfo/saopaulo-pm"
target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR>>><BR>>><BR>>><BR>>>
--<BR>>> "o animal satisfeito dorme". - Guimarães
Rosa<BR>><BR>><BR>><BR>> --<BR>> "o animal satisfeito dorme".
- Guimarães Rosa<BR>><BR>>
________________________________<BR>><BR>>
_______________________________________________<BR>> SaoPaulo-pm mailing
list<BR>> <A href="mailto:SaoPaulo-pm@pm.org"
target=_blank>SaoPaulo-pm@pm.org</A><BR>> <A
href="http://mail.pm.org/mailman/listinfo/saopaulo-pm"
target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR>><BR>>
_______________________________________________<BR>> SaoPaulo-pm mailing
list<BR>> <A href="mailto:SaoPaulo-pm@pm.org"
target=_blank>SaoPaulo-pm@pm.org</A><BR>> <A
href="http://mail.pm.org/mailman/listinfo/saopaulo-pm"
target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR><BR></DIV></DIV><BR>_______________________________________________<BR>SaoPaulo-pm
mailing list<BR><A
href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</A><BR><A
href="http://mail.pm.org/mailman/listinfo/saopaulo-pm"
target=_blank>http://mail.pm.org/mailman/listinfo/saopaulo-pm</A><BR></BLOCKQUOTE></DIV><BR><BR
clear=all><BR>-- <BR>"o animal satisfeito dorme". - Guimarães Rosa<BR>
<P>
<HR>
<P></P>_______________________________________________<BR>SaoPaulo-pm mailing
list<BR>SaoPaulo-pm@pm.org<BR>http://mail.pm.org/mailman/listinfo/saopaulo-pm</BLOCKQUOTE></BODY></HTML>