Dans mon script que je dois faire un cycle comme celui-ci:Comment modifier un objet Perl DateTime?
use DateTime;
for $j(0..3){
my ($date) = DateTime->now->ymd;
my ($k) = 0;
while($k <= $j){
$date = ($date->subtract(days => 7));
$k++;
}
print "$date\n";
}
qui devrait obtenir la date actuelle, puis il y a une semaine, etc. Malheureusement, après avoir obtenu la date correcte, il ne fonctionne pas et je ne sais pas ce qui ne va pas.
Error message is "Can't call method "subtract" without a package or object reference [...]",
mais je n'ai aucune idée de comment résoudre ce problème.
Si possible, je souhaite continuer à utiliser DateTime ou à le remplacer par un autre module (éventuellement pas plus d'un).
Où est fixé $ j? –
Désolé, l'a écrit sans copier. $ i est $ j. – Gurzo
Cette boucle while est mieux écrite 'for (0 .. $ j) {...}' – Ether