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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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

Pouvez-vous me rafraîchir la mémoire car je ne trouve pas de solutions.

Merci