<div dir="ltr"><div><div><div>Geraldo,<br><br></div>Relax, sem criticas por minha parte... desenvolvi por muito tempo em Java e C# e sei bem o que é isso... ;-)<br></div></div><div><br>E-mail só a titulo informativo e nada mais!<br>

<br></div>Grande abraço,<br><br><br></div><div class="gmail_extra"><br clear="all"><div><b><br>Daniel Vinciguerra</b><br>
Web Solutions Architect and Co-Owner at Bivee<br><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><a href="http://github.com/dvinciguerra" style="color:rgb(28,81,168)" target="_blank">http://github.com/dvinciguerra</a></span><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><a href="http://github.com/dvinciguerra" style="color:rgb(28,81,168)" target="_blank"></a></span></div>


<br><br><div class="gmail_quote">2014-03-01 16:35 GMT-03:00 Tiago Peczenyj <span dir="ltr"><<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<p dir="ltr">Pra mim ta certo </p>
<div class="gmail_quote">Em 01/03/2014 16:33, "Stanislaw Pusep" <<a href="mailto:creaktive@gmail.com" target="_blank">creaktive@gmail.com</a>> escreveu:<div><div class="h5"><br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr">Esta data é "apenas" o início do horário de verão! Não existe meia-noite do dia 19 de Outubro de 2014 no Brasil, o relógio muda de 23:59:59 direto para 01:00:00. O comportamento do DateTime é polêmico nesse caso pois a documentação sugere que "Date" e "Time" serão tratados como duas partes relativamente independentes. Só que não é assim que funciona: se você omitir a parte do "Time", 00:00:00 será usado por default, o que tem implicações esquisitas. Infelizmente, meia-noite não é a única excessão, em alguns períodos/timezones a hora "pula" de 1am para 2am ou mesmo 2am para 3am. Empiricamente, assume-se que meio-dia é uma hora default segura para inicializar o objeto DateTime. E a documentação, fala disso? Não!<div>




Olha, DateTime é espetacular de tão útil, mas precisa conhecer bem para não dar o tiro no próprio pé. Ou, sei lá, para o tiro só pegar de raspão.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-01 20:04 GMT+01:00 Tiago Peczenyj <span dir="ltr"><<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@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">vai ver que essa data, a 00:00:00, tem alguma peculiaridade.<div><br></div><div>será? Eu estou do lado do DateTime. E vc?</div>




</div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-01 15:35 GMT-03:00 Stanislaw Pusep <span dir="ltr"><<a href="mailto:creaktive@gmail.com" target="_blank">creaktive@gmail.com</a>></span>:<div>



<div>
<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">ORLY???<div><br></div><div>$ perl -MDateTime -le 'DateTime->new(year => 2014, month => 10, day => 19, time_zone => "America/Sao_Paulo"); print "OK"'</div>






<div>Invalid local time for date in time zone: America/Sao_Paulo</div>

<div><br></div><div>Where's your God now?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-03-01 18:52 GMT+01:00 Tiago Peczenyj <span dir="ltr"><<a href="mailto:tiago.peczenyj@gmail.com" target="_blank">tiago.peczenyj@gmail.com</a>></span>:<div>






<div><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Use DateTime. É bom </p>
<div class="gmail_quote">Em 01/03/2014 14:04, "Geraldo Netto" <<a href="mailto:geraldonetto@gmail.com" target="_blank">geraldonetto@gmail.com</a>> escreveu:<div><div><br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">









Opa!<br>
<br>
Ehehehhe!!!<br>
<br>
Devo admitir aqui que a maior parte do desenvolvimento que eu faço é<br>
feito em java<br>
Além disso, a última vez que eu tinha feito alguma coisa em perl foi<br>
em 2006 quando o Fernando Correa da RIO-PM trabalhava em SP<br>
e tinha me ajudado a fazer um front-end em perl-tk p/ aumentar e<br>
diminuir o volume do audio no linux<br>
<br>
BTW, foi lá que eu também conheci o Blabos e depois, em alguns<br>
encontros sociais, o Solli :P<br>
<br>
<br>
See Ya!!!<br>
<br>
Geraldo Netto<br>
Sapere Aude => Non dvcor, dvco<br>
São Paulo, Brasil, -3gmt<br>
site: <a href="http://exdev.sf.net/" target="_blank">http://exdev.sf.net/</a><br>
<br>
2014-03-01 12:18 GMT-03:00 Daniel Vinciguerra <<a href="mailto:dan.vinciguerra@gmail.com" target="_blank">dan.vinciguerra@gmail.com</a>>:<br>
> herman++<br>
><br>
> Caiu em desuso após o PBP "definir" como um bom padrão nomes de sub todo<br>
> maiúsculo ou todo minusculo... mas o perlcritic só pega no nível de<br>
> severidade --brutal<br>
><br>
> (eu particularmente uso e gosto porque, IMHO, deixa muito mais fácil a<br>
> leitura)<br>
><br>
> []'s<br>
><br>
><br>
><br>
> Daniel Vinciguerra<br>
> Web Solutions Architect and Co-Owner at Bivee<br>
> <a href="http://github.com/dvinciguerra" target="_blank">http://github.com/dvinciguerra</a><br>
><br>
><br>
> 2014-02-28 21:28 GMT-03:00 Hernan Lopes <<a href="mailto:hernanlopes@gmail.com" target="_blank">hernanlopes@gmail.com</a>>:<br>
><br>
>> nossa, um camel case!<br>
>> CamelCase anda tão fora de moda que me deixa surpreso ao ver que pessoas<br>
>> ainda o preferem ao invés de under_line<br>
>><br>
>><br>
>><br>
>> 2014-02-28 11:59 GMT-03:00 Geraldo Netto <<a href="mailto:geraldonetto@gmail.com" target="_blank">geraldonetto@gmail.com</a>>:<br>
>><br>
>>> Bom Dia Pessoal!<br>
>>><br>
>>> Consegui evoluir no código com a api do posix mesmo<br>
>>> crio as datas com POSIX::strftime<br>
>>> e calculo o horário de verão pegando a saida do comando cal no shell<br>
>>><br>
>>> yep, eu sei que é feito, mas resolve o meu problema de um jeito rápido...<br>
>>> por hora, a idéia é só gerar o "okay" da gerencia p/ matar umas 4<br>
>>> versões shell que fazem o mesmo trabalho, mas precisam de alguns<br>
>>> parâmetros diferentes e alguma intervenção humana especificamente no<br>
>>> período de horário de verão<br>
>>><br>
>>> a minha dúvida é primária, suponho...<br>
>>> mas eu não entendi o porque usar o shift<br>
>>> se eu posso verificar com o defined() se o @_[<número>] está definido?<br>
>>><br>
>>> Aceito sugestões e Mais uma vez, Valeu mesmo pela força! :P<br>
>>><br>
>>><br>
>>> BTW, código todo a seguir:<br>
>>><br>
>>> #!/usr/bin/perl<br>
>>><br>
>>> use strict;<br>
>>> use warnings;<br>
>>><br>
>>> use POSIX;<br>
>>><br>
>>><br>
>>> # a inicia a data em 1900 entao, se for passado 95 => 1995<br>
>>> sub calcularDeslocamentoAno {<br>
>>>     die "ano invalido" unless defined(@_[0]) && return ($_[0] > 99 ?<br>
>>> $_[0] - 1900 : $_[0]);<br>
>>> }<br>
>>><br>
>>> sub criarData {<br>
>>>     die "parametros invalidos" unless (defined(@_[0]) &&<br>
>>> defined(@_[1]) && defined(@_[2]));<br>
>>>     #Usage: POSIX::strftime(fmt,             sec, min, hour, mday,<br>
>>> mon, year, wday = -1, yday = -1, isdst = -1)<br>
>>>     return POSIX::strftime("%Y,%m,%d", 0, 0, 0, @_[0], (@_[1] -1),<br>
>>> &calcularDeslocamentoAno(@_[2]), 0, 0);<br>
>>> }<br>
>>><br>
>>> sub calcularDiaInicioHorarioVerao {<br>
>>>     my $dia_inicio = `cal 10 2013 | tail -4 | head -1 | cut -d' ' -f7`;<br>
>>> }<br>
>>><br>
>>> sub calcularDiaFimHorarioVerao {<br>
>>>     my $dia_fim = `cal 2 2014 | tail -4 | head -1 | cut -d' ' -f7`;<br>
>>> }<br>
>>><br>
>>> sub  trim {<br>
>>>     my $s = shift;<br>
>>>     $s =~ s/^\s+|\s+$//g;<br>
>>>     return $s;<br>
>>> }<br>
>>><br>
>>> print &criarData(2, 5, 2014);<br>
>>> print &trim($dia_inicio);<br>
>>> print &trim($dia_fim);<br>
>>><br>
>>> Geraldo Netto<br>
>>> Sapere Aude => Non dvcor, dvco<br>
>>> São Paulo, Brasil, -3gmt<br>
>>> site: <a href="http://exdev.sf.net/" target="_blank">http://exdev.sf.net/</a><br>
>>><br>
>>> 2014-02-26 23:41 GMT-03:00 Geraldo Netto <<a href="mailto:geraldonetto@gmail.com" target="_blank">geraldonetto@gmail.com</a>>:<br>
>>> > Opa!<br>
>>> ><br>
>>> > Tudo okay Pessoal?<br>
>>> ><br>
>>> > Eu sou o Geraldo, um ghost reader da SPPM (e algumas outras PMs)<br>
>>> > e eu ando trabalhando vagarosamente num projetinho<br>
>>> > que eu dependo de verificação do horário de verão<br>
>>> ><br>
>>> > A idéia é separar o ano em 3 partes:<br>
>>> ><br>
>>> > fim do horário de verão (terceiro domingo de fevereiro)<br>
>>> > fora do horário de verão<br>
>>> > início do horário de verão (terceiro sábado de fevereiro)<br>
>>> ><br>
>>> > E baseado nisso, lançar um shell que vai receber o timezone, data de<br>
>>> > início e de fim<br>
>>> > p/ fazer a coleta de dados pelo hp openview (comando ovpmbatch)<br>
>>> ><br>
>>> > Só que...<br>
>>> > -eu tenho um servidor tru64 (sem suporte)<br>
>>> > -rodando perl 5.8 (2002 pelo o que o version diz...)<br>
>>> > -sem sudo/root/possibilidade de instalação de pacotes de terceiros<br>
>>> > -<inclua-aqui-todas-as-limitações-que-vocês-imaginarem-de-infra><br>
>>> > -meu "core business" é análise de desempenho de software,<br>
>>> > então o código não pode ser muito "perlish"<br>
>>> > porque alguém pode precisar dar manutenção depois de mim<br>
>>> ><br>
>>> > Embora eu ainda não tenha código real (só comecei a brincar)<br>
>>> > Eu estou pensando em ir com a api do posix, especificamente a<br>
>>> > função/método strftime<br>
>>> ><br>
>>> > Eventualmente vocês teriam alguma sugestão?<br>
>>> ><br>
>>> ><br>
>>> > Grande Abraço!<br>
>>> ><br>
>>> > Geraldo Netto<br>
>>> > Sapere Aude => Non dvcor, dvco<br>
>>> > São Paulo, Brasil, -3gmt<br>
>>> > site: <a href="http://exdev.sf.net/" target="_blank">http://exdev.sf.net/</a><br>
>>> =begin disclaimer<br>
>>>    Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" 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" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
>>> =end disclaimer<br>
>><br>
>><br>
>><br>
>> =begin disclaimer<br>
>>    Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" 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" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
>> =end disclaimer<br>
>><br>
><br>
><br>
> =begin disclaimer<br>
>    Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" 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" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
> =end disclaimer<br>
><br>
=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" 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" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
</blockquote></div></div></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" 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" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div></div></div><br></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" 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" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div></div></div><span><font color="#888888"><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>
</font></span></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" 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" 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/" 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" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div></div></div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br></div>