Meu querido, tire o sotaque de C e coloque o sotaque de Perl, então :<br><br>... de :<br>&lt;code&gt;<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><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> &lt; <span class="nu0">8</span>; <span class="re0">$i</span>++<span class="br0">)</span> <span class="br0">{</span></div>

</li><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">&quot;S&quot;</span><span class="br0">)</span> <span class="br0">{</span></div>

</li><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><li class="li2">

<div class="de2">    <span class="br0">}</span></div></li><li class="li1"><div class="de1"><span class="br0">}</span></div></li></ol>&lt;/code&gt;<br><br>para ... : <br>&lt;code&gt;<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><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">&quot;S&quot;</span><span class="br0">)</span> <span class="br0">{</span></div>

</li><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><li class="li2">

<div class="de2">    <span class="br0">}</span></div></li><li class="li1"><div class="de1"><span class="br0">}</span></div></li></ol><br>&lt;/code&gt;<br><br><div class="gmail_quote">2009/7/8 Blabos de Blebe <span dir="ltr">&lt;<a href="mailto:blabos@gmail.com">blabos@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">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 &lt;<a href="mailto:claudio@dpreferencial.com.br" target="_blank">claudio@dpreferencial.com.br</a>&gt;<br>

&gt;<br>&gt; A todos boa noite!<br>
&gt;  <br>&gt; Soli,<br>&gt; valeu a intenção, mas assim não rola..<br>&gt; já resolvi isto com &amp; mesmo...<br>&gt;  <br>&gt; Estou passando o meu sistema que é em Delphi..mas...<br>&gt; sou novato total em Perl...rsrs...<br>


&gt;  <br>&gt;  <br>&gt; Respondendo a sua pergunta:<br>&gt; ________________<br>&gt; Um breve histórico:<br>&gt;  <br>&gt; Eu trabalho com processamento de pesquisas de mercado. (tabulação)<br>&gt;  <br>&gt; No começo trabalhei muito anos com Statiscs SPSS, Statiscs ... (com estes programas as bases ficavam realmente gigantes..rsrs..200.000 campos..rsrs)<br>


&gt; acabei desenvolvendo meu próprio sistema de tabulação.<br>&gt;  <br>&gt; Desenvolvi um formato para o meu arquivo de dados,<br>&gt; levando em consideração minhas necessidades, tais como:<br>&gt;  <br>&gt; - conteúdo criptografado.<br>


&gt; - tamanho final do arquivo de base.<br>&gt; - quantidade final de campos na base.<br>&gt; - base não normalizada = campos multivalorados e dependentes..<br>&gt; - conteúdo dos campos: numérico.<br>&gt;  <br>&gt; levando em consideração que:<br>


&gt; - 80% dos campos de uma pesquisa são campos numéricos e RM (respostas múltiplas=campos multivalorados)<br>&gt;   Ex:<br>&gt;   Quais frutas vc gosta:<br>&gt;   1 - abacaxi<br>&gt;   2 - Mamão<br>&gt;   3 - abacate....  até o código 50.<br>


&gt;  <br>&gt;   um fulano responde os códigos 2/3/4/9/10/15<br>&gt;   <br>&gt;   num buffer(array de boleanos) eu marco true nestas posição e gravo.<br>&gt;  <br>&gt; Veja, no SPSS ou em outras bases &quot;normais&quot; eu precisaria de 15 campos para guardar as informações,<br>


&gt; quando que eu guardo num campo só..de tamanho bem pequeno...rsrs..<br>&gt;  <br>&gt; (não percebeu meu nome ..rsrs =&gt;  Binaghi = Binário..rsrs.. aqui só rola um neurônio, que de vez em quando resolve ficar True..rsrs)<br>


&gt; ____________________________________________________<br>&gt; ____________________________________________________<br>&gt;  <br>&gt; (é um código totalmente grosso..mas funfa..rsrs)<br>&gt;  <br>&gt; É assim que eu faço:<br>


&gt;  <br>&gt; Leio o arq:<br>&gt;  <br>&gt;   open(tap,&quot;&lt;$PathHtdocs&quot;);<br>&gt;   binmode tap;<br>&gt;       my ($buf, $data, $n, @cont);<br>&gt;       while (($n = read tap, $data, $x) != 0) {<br>&gt;           print &quot;$n bytes read\n&quot;;<br>


&gt;          $buf .= $data;<br>&gt;       }<br>&gt;        print &quot;$buf&quot;;<br>&gt;   close(tap);<br>&gt;  @cont=split(//,$buf);<br>&gt;  <br>&gt; Comparo o conteúdo:<br>&gt;  <br>&gt;   push (@byt,1);<br>&gt;   push (@byt,2);<br>


&gt;   push (@byt,4);<br>&gt;   push (@byt,8);<br>&gt;   push (@byt,16);<br>&gt;   push (@byt,32);<br>&gt;   push (@byt,64);<br>&gt;   push (@byt,128);<br>&gt;   my @res;<br>&gt;   my $RecCount=$n*8;<br>&gt;   for($a=1;$a&lt;=$RecCount+1;$a++){<br>


&gt;        push (@res,0);<br>&gt;   }<br>&gt;   my $pos=0;<br>&gt;   for($a=1;$a&lt;=$n;$a++){<br>&gt;     $val=$cont[$a];<br>&gt; print &quot;----&gt; testa valor $a:=$cont[$a]&lt;br&gt;\n&quot;;               <br>&gt;     if(ord($val)!=0){<br>


&gt;       for($k=0;$k&lt;=7;++$k){<br>&gt;           $pos=8*($a-1)+$k+1;<br>&gt;           $ord=ord($val);<br>&gt;           if(ord($val) &amp; $byt[$k]) {<br>&gt;             $res[$pos]=1;<br>&gt;             $r=ver_conteudo(ord($val),$byt[$k]);<br>


&gt; print &quot;----&gt; res[$pos]:=1 / $r&lt;br&gt;\n&quot;;<br>&gt;           }<br>&gt;       }<br>&gt;     }<br>&gt;   }<br>&gt; ____________________________________________________<br>&gt; ____________________________________________________<br>


&gt;  <br>&gt; Esse formato é para as respostas no formato de códigos,<br>&gt; os textos, destes códigos, ficam guardados em outro arquivo..<br>&gt; Tipo na base normal se guarda no formato literal: Sim, Não..<br>&gt; na minha base quardo 1, 2 e tenho um texo só para sim e não..<br>


&gt;  <br>&gt; Sacou...<br>&gt;  <br>&gt;  <br>&gt; Obrigado pela atenção..<br>&gt;  <br>&gt; Abs<br>&gt;  <br>&gt; Claudio H.Binaghi<br>&gt; <a href="mailto:claudio@dpreferencial.com.br" target="_blank">claudio@dpreferencial.com.br</a><br>


&gt; 5511 3288.4840<br>&gt;  <br>&gt;  <br>&gt;  <br>&gt;  <br>&gt;  <br>&gt;<br>&gt; ----- Original Message -----<br>&gt; From: Solli Honorio<br>&gt; To: <a href="mailto:saopaulo-pm@mail.pm.org" target="_blank">saopaulo-pm@mail.pm.org</a><br>


&gt; Sent: Wednesday, July 08, 2009 3:32 PM<br>&gt; Subject: Re: [SP-pm] Problemas numa comparação<br>&gt; 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>


&gt;<br>&gt; &lt;code&gt;<br>&gt; sub ver_conteudo {<br>&gt;   return 1 &lt;&lt; $_[0] &amp; $_[1] ? 1 : 0;<br>&gt; }<br>&gt;<br>&gt; if ( ver_conteudo(1,6) ) {<br>&gt;   print &quot;Verdadeiro\n&quot;;<br>&gt; } else {<br>


&gt;   print &quot;Falso\n&quot;;<br>&gt; }<br>&gt; &lt;/code&gt;<br>&gt;<br>&gt; 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>&gt;<br>&gt; Solli M. Honório<br>


&gt;<br>&gt; 2009/7/8 Solli Honorio &lt;<a href="mailto:shonorio@gmail.com" target="_blank">shonorio@gmail.com</a>&gt;<br>&gt;&gt;<br>&gt;&gt; Claudio, eu não o que vc quer cara, não entendi o que vc quis dizer com &#39;É uma comparação feita como entre Bytes como Boolean.&#39;, então vou responder o que eu acho que deveria ser a tradução do teu código:<br>


&gt;&gt;<br>&gt;&gt; &lt;code&gt;<br>&gt;&gt; sub ver_conteudo {<br>&gt;&gt;   my @bits = (1,2,4,8,16,32,64,128);<br>&gt;&gt;   return $bits[1] &amp; $_[0] ? 1 : 0;<br>&gt;&gt; }<br>&gt;&gt;<br>&gt;&gt; if ( ver_conteudo(8) ) {<br>


&gt;&gt;   print &quot;Verdadeiro\n&quot;;<br>&gt;&gt; } else {<br>&gt;&gt;   print &quot;Falso\n&quot;;<br>&gt;&gt; }<br>&gt;&gt; &lt;/code&gt;<br>&gt;&gt;<br>&gt;&gt; Agora fiquei curioso, porque e como vc está traduzindo um programa em Delphi para Perl ? Isto é para uma empresa ?<br>


&gt;&gt;<br>&gt;&gt; Abraços,<br>&gt;&gt;<br>&gt;&gt; Solli M. Honório<br>&gt;&gt;<br>&gt;&gt; 2009/7/8 &lt;<a href="mailto:claudio@dpreferencial.com.br" target="_blank">claudio@dpreferencial.com.br</a>&gt;<br>&gt;&gt;&gt;<br>

&gt;&gt;&gt;  <br>
&gt;&gt;&gt; Pessoall, Boa tarde!<br>&gt;&gt;&gt;  <br>&gt;&gt;&gt; Como sempre, estou precisando de um HELP!!!<br>&gt;&gt;&gt;  <br>&gt;&gt;&gt; Estou passando um sistema de Delphi para Perl<br>&gt;&gt;&gt; e não tenho consiguido achar indicação <br>


&gt;&gt;&gt; para desenvolver este trecho do código.<br>&gt;&gt;&gt;  <br>&gt;&gt;&gt; É uma comparação feita como entre Bytes como Boolean.<br>&gt;&gt;&gt; ________________________________________________________________<br>


&gt;&gt;&gt; ________________________________________________________________<br>&gt;&gt;&gt; Segue o trecho do código:<br>&gt;&gt;&gt;  <br>&gt;&gt;&gt; Procedure Ver_Conteudo;<br>&gt;&gt;&gt;    const BITS: array[0..7] of Byte = (1,2,4,8,16,32,64,128);<br>


&gt;&gt;&gt;    Res:   Boolean;<br>&gt;&gt;&gt; Begin<br>&gt;&gt;&gt;    <br>&gt;&gt;&gt;   Res := Boolean ( BITS[1] and 6 );    // Este é o trecho que me interessa,  este resultado dá true.<br>&gt;&gt;&gt;  <br>&gt;&gt;&gt;   if (Res) Then ShowMessage(&#39;True&#39;) else ShowMessage(&#39;False&#39;);<br>


&gt;&gt;&gt;  <br>&gt;&gt;&gt; End;<br>&gt;&gt;&gt;  <br>&gt;&gt;&gt; ________________________________________________________________<br>&gt;&gt;&gt; ________________________________________________________________<br>&gt;&gt;&gt;  <br>


&gt;&gt;&gt; Qualquer ajuda/ luz, ajuda muito...<br>&gt;&gt;&gt;  <br>&gt;&gt;&gt; desde já agradeço a todos.<br>&gt;&gt;&gt;  <br>&gt;&gt;&gt; Abs<br>&gt;&gt;&gt;  <br>&gt;&gt;&gt; Claudio H.Binaghi<br>&gt;&gt;&gt; <a href="mailto:claudio@dpreferencial.com.br" target="_blank">claudio@dpreferencial.com.br</a><br>


&gt;&gt;&gt; 5511 3288.4840<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; _______________________________________________<br>&gt;&gt;&gt; SaoPaulo-pm mailing list<br>&gt;&gt;&gt; <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>


&gt;&gt;&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; --<br>&gt;&gt; &quot;o animal satisfeito dorme&quot;. - Guimarães Rosa<br>


&gt;<br>&gt;<br>&gt;<br>&gt; --<br>&gt; &quot;o animal satisfeito dorme&quot;. - Guimarães Rosa<br>&gt;<br>&gt; ________________________________<br>&gt;<br>&gt; _______________________________________________<br>&gt; SaoPaulo-pm mailing list<br>


&gt; <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>&gt; <a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br>&gt;<br>

&gt; _______________________________________________<br>
&gt; SaoPaulo-pm mailing list<br>&gt; <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>&gt; <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>&quot;o animal satisfeito dorme&quot;. - Guimarães Rosa<br>