[Cascavel-pm] Total de dia de determinado mês.

Marco Lima marco.lima em e-via.com.br
Segunda Novembro 7 19:08:24 PST 2005


Ainda naum JG !

sub dia {
    my ($mes) = shift;
    my ($ano) = shift;
    my %dia = ('01' => ($$mes % 2) ? 31 : 30,
               '02' => ($$ano % 4) ? 28 :
                       ($$ano % 400) ? 29 : 28,
               '03' => ($$mes % 2) ? 30 : 31);
    return $dia{(($$mes == '02') ? $$mes :
                 ($$mes >= '08') ? '03'  :
                  '01')};
}

my $dia = dia(\$mes, \$ano);

Bom essa me parece legal e funcional !!

> Sim, testei o código porém postei com uma pequena falha...
> 
> segue a correção do "for" (que é um exemplo prátido da aplicão):
> 
> __CODE PERL__
> for ($conta=1, $max=12; $conta <= $max; $conta++) {
>        print "Mês: $conta -> $diasdomes{$conta} dias<br>";
> }
> __END CODE PERL__
> 
> 
> Perl Golf sux :D
> 
> 
> --
> []'s
> João Gabriel
> CGiClube.net - www.cgiclube.net
> Vitória Perl Mongers - vitoria.pm.org
> 
> 
> Em 07/11/05, 
marcoantonio.lima em vivo.com.br<marcoantonio.lima em vivo.com.br>
> escreveu:
> >
> > Tenho certeza que o Luis queria dizer isso ! Mas acho que poderia 
ficar
> > mais simples, têm muito 31 e 30 nesse hash, se inverter para keys e
> > referenciar arrays dos meses ficaria bem menor .. ;-)) Perl Golf !
> >
> > __PERL__
> >   %days_in_month = ( 1 => 30,
> >                      2 => ($year % 4) ? 28 : 29,
> >                      3 => 31,
> >                      4 => 30,
> >                      5 => 31, ... );
> >
> >   $quantidade_dias = $days_in_month{ 2 };
> >   __END__
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
> 
> 

--

Marco Lima    
J. A. P. H.      

marco.lima em e-via.com.br
mago em rio.pm.org
mago em cpan.org

Sociedade Perl do Brasil   |   http://www.perl.org.br
Perl Monks                 |   http://www.perlmonks.org
Brasil Perl Mongers        |   http://brasil.pm.org

Register Linux User #355235
Slackware Linux, for the subgenius

"Ninguém é tão grande que não possa aprender, e nem tão pequeno que 
não possa ensinar" 


Mais detalhes sobre a lista de discussão Cascavel-pm