<div dir="ltr">sim pq este erro vem do fato que este atributo é requerido<div><br></div><div>se vc quer dar uma mensagem mais bonitinha pro usuario, valide os imputs no seu script antes de instanciar a classe. assim vc separa as coisas :)</div>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/11/10 Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div><div dir="ltr">Bom, usei o Moose como recomendou, mais pratico.<div>Quanto ao if, realmente foi falta de atenção, deveria ser um && no lugar da virgula.</div><div><br></div><div>Mas o erro que retorna é</div>

<div>Attribute (key) is required at C:/Perl/site/lib/Moose/Meta/Attribute.pm line 519</div><div><br></div><div>Por algum motivo, é como se não fosse atribuido valor algum a key.</div><div><br></div><div>Quanto ao metodo BUILD é que como ja tinha o codigo quase pronto fiquei com preguissa de usar para validar, mas vou mudar para que word e key tenham o mesmo tamanho sempre.</div>

<div><br></div><div><br><br><div><hr>From: <a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a><br>Date: Sun, 10 Nov 2013 21:00:04 -0200<br>To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><div>

<div class="h5"><br>Subject: Re: [Rio-pm] [Fun - passa tempo] Cifra de Vigenère<br><br><div dir="ltr">Aureliano<div><br></div><div>com Moose vc pode marcar um atributo como required. assim se alguem esquecer ele na hora de inicializar a classe haverá uma mensagem de erro.</div>

<div><br></div><div><div>has 'word' =>(</div>

<div>                is => 'rw',</div><div>                isa => 'Str',</div><div>                required => 1,</div></div><div>);</div><div><br></div><div>melhor do que utilizar 'default' para validação. eu uso MUITO o default mas justamente para inicializar o que eu preciso.</div>



<div><br></div><div>alias se vc precisa validar o tamanho da chave e do texto, vc poderia utilizar BUILD para isso.</div><div><br></div><div><a href="http://search.cpan.org/dist/Moose/lib/Moose/Manual/Construction.pod" target="_blank">http://search.cpan.org/dist/Moose/lib/Moose/Manual/Construction.pod</a><br>



</div><div><br></div><div>agora o que vc quer dizer com isso?</div><div><br></div><div><span style="color:rgb(177,177,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">if</span><span style="line-height:21px;font-size:12px;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif"> </span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">(</span><span style="line-height:21px;font-size:12px;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif">isalpha</span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">(</span><span style="color:rgb(0,0,255);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">$word</span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">[</span><span style="color:rgb(0,0,255);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">$a</span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">]</span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">)</span><span style="color:rgb(51,153,51);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">,</span><span style="line-height:21px;font-size:12px;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif"> isalpha</span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">(</span><span style="color:rgb(0,0,255);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">$key</span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">[</span><span style="color:rgb(0,0,255);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">$a</span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">]</span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">)</span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">)</span><span style="color:rgb(0,153,0);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif;font-size:12px;line-height:21px">{</span><span style="line-height:21px;font-size:12px;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif"> </span><br>



</div><div><span style="line-height:21px;font-size:12px;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono',monospace,serif"><br>



</span></div><div>o que é um if com virgula?</div></div><div><br><br><div>2013/11/10 Aureliano Guedes <span dir="ltr"><<a href="mailto:guedes_1000@hotmail.com" target="_blank">guedes_1000@hotmail.com</a>></span><br>



<blockquote style="border-left:1px #ccc solid;padding-left:1ex">


<div><div dir="ltr">Bom, fiz as mudanças aconselhadas e mais outras,<div>ainda transformei em uma classe.</div><div><br></div><div>Vigenere.pm-> <a href="http://pastebin.com/aL4brPZx" style="font-size:12pt" target="_blank">http://pastebin.com/aL4brPZx</a></div>



<div>Script teste -> <a href="http://pastebin.com/nbuqPqUr" target="_blank">http://pastebin.com/nbuqPqUr</a><br><br>Ou-> <a href="https://www.dropbox.com/sh/4diypsz4y2puvxq/t0HuRZLvZW/Vigenere_Perl" target="_blank">https://www.dropbox.com/sh/4diypsz4y2puvxq/t0HuRZLvZW/Vigenere_Perl</a></div>



<div><br></div><div>Por algum motivo tem alguma coisa dando errado com o Moose, ainda não identifiquei, alguém ai sabe o que poderia ser??<br><div><hr>From: <a href="mailto:nuba@fastmail.fm" target="_blank">nuba@fastmail.fm</a><br>



To: <a href="mailto:rio-pm@pm.org" target="_blank">rio-pm@pm.org</a><br>Date: Sun, 10 Nov 2013 04:16:56 -0200<br>Subject: Re: [Rio-pm] [Fun - passa tempo] Cifra de Vigenère<div><div><br><br>




<div> </div>
<div> </div>
<div> </div>
<div>On Sun, Nov 10, 2013, at 01:13 AM, Tiago Peczenyj wrote:<br></div>
<blockquote><div dir="ltr"><div>3- use map :)<br></div>
<div> </div>
<div>ao inves de <br></div>
<div> </div>
<div><div>        my @b = split (//, $c);<br></div>
<div>        for (my $i = 0; $i < @b; $i++){<br></div>
<div>                $b[$i] = ord $b[$i];<br></div>
<div>        }<br></div>
</div>
<div> </div>
<div>podes fazer<br></div>
<div> </div>
<div>return map { ord } split //, $c;<br></div>
</div>
</blockquote><div> </div>
<div>quer enxugar mais uma gota? faz<br></div>
<div> </div>
<div>map ord, split //, $c;<br></div>
<div> </div>
<div>:)<br></div>
<div> </div>
<div><div>--<br></div>
<div>Nuba R. Princigalli  <a href="mailto:nuba@pauleira.com" target="_blank">nuba@pauleira.com</a>  <a href="http://pauleira.com" target="_blank">http://pauleira.com</a>  @nprincigalli<br></div>
<div>Discipline is not an end in itself, just a means to an end. - King Crimson<br></div>
<div> </div>
</div>


<br></div></div><div>_______________________________________________
Rio-pm mailing list
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a></div></div></div>                                           </div></div>
<br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Tiago B. Peczenyj<br>Linux User #405772<br>



<br><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a>
</div>
<br>_______________________________________________
Rio-pm mailing list
<a href="mailto:Rio-pm@pm.org" target="_blank">Rio-pm@pm.org</a>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a></div></div></div></div>                                       </div></div>
<br>_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Tiago B. Peczenyj<br>Linux User #405772<br>

<br><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a>
</div>