Gérer le numéro de version d'un programme
Bonjour,
Sur mon site personnel, j'affiche ceci:
(again 17 days until the 4.3-RELEASE of OpenBSD!)
Le nombre de jours restant est obtenu via le script ci-dessous écrit par Jedai.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #!/usr/bin/perl
use strict; use warnings;
use Time::Local;
my $now = time();
my (undef,undef,undef,undef,$now_month,$now_year) = localtime();
my $next_release;
if( $now_month < 4 ) {
$next_release = timelocal( 0,0,0,1,4,$now_year );
}
elsif ( $now_month > 9 ) {
$next_release = timelocal( 0,0,0,1,4,$now_year+1 );
}
else {
$next_release = timelocal( 0,0,0,1,10,$now_year );
}
my $days_until_next = int( ($next_release - $now) / (60*60*24) ) + 1;
print "Nombre de jours avant la prochaine sortie d'OpenBSD : ", $days_until_next, "\n"; |
Je souhaite également gérer la version c'est-à-dire, tous les 1er mai et 1er novembre, afficher X.X-RELEASE.
J'ai commencé par me baser sur le nombre de jours restant via la variable $day_until_next avec ce premier test:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| my $release_logfile='/home.10.16/oregnier/cgi-bin/log/release.log';
my $start_release=43;
my $release_number;
if (! -e $release_logfile)
{
open (my $FILE,">> $release_logfile");
print $FILE $start_release;
close $FILE;
}
else
{
open (my $FILE,"$release_logfile");
$release_number=<$FILE>;
close $FILE;
}
if ($days_until_next==0)
{
open (my $FILE,"+< $release_logfile");
$release_number=<$FILE>;
close $FILE;
$release_number=~ s/\s+$//;
$release_number++;
open (my $FILE,"> $release_logfile");
print $FILE $release_number;
close $FILE;
} |
Je stocke dans un fichier, la version actuelle et je l'incrémente de 1 lorsque le nombre de jours restant = 0. Sauf que le jour J, à chaque rafraîchissement de la page, j'augmente de 1 :mouarf:
Pouvez-vous me rafraîchir la mémoire car je ne trouve pas de solutions.
Merci :mrgreen: