[SP-pm] Perl e horário de verão

Hernan Lopes hernanlopes at gmail.com
Fri Feb 28 16:28:04 PST 2014


nossa, um camel case!
CamelCase anda tão fora de moda que me deixa surpreso ao ver que pessoas
ainda o preferem ao invés de under_line



2014-02-28 11:59 GMT-03:00 Geraldo Netto <geraldonetto at gmail.com>:

> Bom Dia Pessoal!
>
> Consegui evoluir no código com a api do posix mesmo
> crio as datas com POSIX::strftime
> e calculo o horário de verão pegando a saida do comando cal no shell
>
> yep, eu sei que é feito, mas resolve o meu problema de um jeito rápido...
> por hora, a idéia é só gerar o "okay" da gerencia p/ matar umas 4
> versões shell que fazem o mesmo trabalho, mas precisam de alguns
> parâmetros diferentes e alguma intervenção humana especificamente no
> período de horário de verão
>
> a minha dúvida é primária, suponho...
> mas eu não entendi o porque usar o shift
> se eu posso verificar com o defined() se o @_[<número>] está definido?
>
> Aceito sugestões e Mais uma vez, Valeu mesmo pela força! :P
>
>
> BTW, código todo a seguir:
>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
>
> use POSIX;
>
>
> # a inicia a data em 1900 entao, se for passado 95 => 1995
> sub calcularDeslocamentoAno {
>     die "ano invalido" unless defined(@_[0]) && return ($_[0] > 99 ?
> $_[0] - 1900 : $_[0]);
> }
>
> sub criarData {
>     die "parametros invalidos" unless (defined(@_[0]) &&
> defined(@_[1]) && defined(@_[2]));
>     #Usage: POSIX::strftime(fmt,             sec, min, hour, mday,
> mon, year, wday = -1, yday = -1, isdst = -1)
>     return POSIX::strftime("%Y,%m,%d", 0, 0, 0, @_[0], (@_[1] -1),
> &calcularDeslocamentoAno(@_[2]), 0, 0);
> }
>
> sub calcularDiaInicioHorarioVerao {
>     my $dia_inicio = `cal 10 2013 | tail -4 | head -1 | cut -d' ' -f7`;
> }
>
> sub calcularDiaFimHorarioVerao {
>     my $dia_fim = `cal 2 2014 | tail -4 | head -1 | cut -d' ' -f7`;
> }
>
> sub  trim {
>     my $s = shift;
>     $s =~ s/^\s+|\s+$//g;
>     return $s;
> }
>
> print &criarData(2, 5, 2014);
> print &trim($dia_inicio);
> print &trim($dia_fim);
>
> Geraldo Netto
> Sapere Aude => Non dvcor, dvco
> São Paulo, Brasil, -3gmt
> site: http://exdev.sf.net/
>
> 2014-02-26 23:41 GMT-03:00 Geraldo Netto <geraldonetto at gmail.com>:
> > Opa!
> >
> > Tudo okay Pessoal?
> >
> > Eu sou o Geraldo, um ghost reader da SPPM (e algumas outras PMs)
> > e eu ando trabalhando vagarosamente num projetinho
> > que eu dependo de verificação do horário de verão
> >
> > A idéia é separar o ano em 3 partes:
> >
> > fim do horário de verão (terceiro domingo de fevereiro)
> > fora do horário de verão
> > início do horário de verão (terceiro sábado de fevereiro)
> >
> > E baseado nisso, lançar um shell que vai receber o timezone, data de
> > início e de fim
> > p/ fazer a coleta de dados pelo hp openview (comando ovpmbatch)
> >
> > Só que...
> > -eu tenho um servidor tru64 (sem suporte)
> > -rodando perl 5.8 (2002 pelo o que o version diz...)
> > -sem sudo/root/possibilidade de instalação de pacotes de terceiros
> > -<inclua-aqui-todas-as-limitações-que-vocês-imaginarem-de-infra>
> > -meu "core business" é análise de desempenho de software,
> > então o código não pode ser muito "perlish"
> > porque alguém pode precisar dar manutenção depois de mim
> >
> > Embora eu ainda não tenha código real (só comecei a brincar)
> > Eu estou pensando em ir com a api do posix, especificamente a
> > função/método strftime
> >
> > Eventualmente vocês teriam alguma sugestão?
> >
> >
> > Grande Abraço!
> >
> > Geraldo Netto
> > Sapere Aude => Non dvcor, dvco
> > São Paulo, Brasil, -3gmt
> > site: http://exdev.sf.net/
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20140228/e7a196a6/attachment.html>


More information about the SaoPaulo-pm mailing list