#!/usr/bin/perl
#
# Renvoie la duree de la connexion ppp
# Se base sur la date/heure de modification du fichier
# $NOM_FICHIER_A_SURVEILLER
# 
# Pierre Bauduin
# Version 0.0.1
# Le 28 octobre 2006

use strict;

my $NOM_FICHIER_A_SURVEILLER="/var/run/ppp0.pid";
my $VERSION="0.0.1";
my $NOMDUPROGRAMME="renvoie_duree_connexion.pl";
my $AUTHOR="Pierre Bauduin";

# Je vais chercher mon home directory dans mes variables d'environnement
my $mon_home_directory="$ENV{HOME}";

# Générique de début et de fin 
sub usage {
   printf("$NOMDUPROGRAMME $VERSION par $AUTHOR\n");
   printf("Usage: $NOMDUPROGRAMME <unité> où unité est \n");
   printf("       s = secondes, m = minutes, h = heures, d ou j = jours.\n");
   exit 1;
}


# Le fichier existe-t-il ?
die "Le fichier $NOM_FICHIER_A_SURVEILLER n'existe pas !\n" 
	unless (-e $NOM_FICHIER_A_SURVEILLER);

# Epoch time de maintenant
my $maintenant=time;

# Epoch time du fichier
my $mtime = (stat $NOM_FICHIER_A_SURVEILLER)[9];

# Temps écoulé en secondes
my $secondes= $maintenant - $mtime;
my $minutes = int ($secondes / 60);
my $heures  = int ($minutes  / 60);
my $jours   = int ($heures   / 24);

if ( $#ARGV eq 0 )
# Nombre d'arguments est egal a 1
{
   my $choix = $ARGV[0];
   SWITCH: {
      # Caractères reconnus
      if ( lc $choix eq 's') { print "$secondes\n"; last SWITCH; };
      if ( lc $choix eq 'm') { print "$minutes\n"; last SWITCH; };
      if ( lc $choix eq 'h') { print "$heures\n"; last SWITCH; };
      if ( lc $choix eq 'd' or lc $choix eq 'j') 
                             { print "$jours\n"; last SWITCH; };
      # Caractère non reconnu
      usage();
      }
}
else
# Nombre d'arguments autre que 1
{
      usage();
}

