Comment puis-je obtenir le premier et le dernier jour du mois avec DateTime de Perl?

Est-il un moyen pour déterminer le premier jour du mois (min jour) et le dernier jour d'un mois (max jour), étant donné que le mois d'entrée, à l'aide de DateTime en perl?

Jusqu'à présent, j'ai compris comment passer dans un premier date de, date de la dernière à me donner une fourchette de jours.

Mais ce que je veux faire, c'est de passer dans un mois, c'est un argument, disons 201203 et min retour, maxday.

Est-ce possible avec DateTime?

Aussi, je veux changer le format de la date masque de AAAAMMJJ à AAAA-MM-JJ.

    use strict;
    use warnings;
    use DateTime;

    unless(@ARGV==2)
    {
        print "Usage: myperlscript first_date last_date\n";
        exit(1);
    }

    my ($first_date,$last_date)=@ARGV;

    my $date=DateTime->new(
    {
      year=>substr($first_date,0,4),
      month=>substr($first_date,4,2),
      day=>substr($first_date,6,2)
    });


while($date->ymd('') le $last_date)
{
  print $date->ymd('') . "\n";
  #$date->add(days=>1); #every day
  $date->add(days=>30);
}

Résultats Attendus:

2012-03-01
2012-03-31

source d'informationauteur cjd143SD