[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