Merci 
Je vais tester

-----Message d'origine-----
De : [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] De la part de Damien Bouvy
Envoy� : vendredi 1 ao�t 2003 9:25
� : '[EMAIL PROTECTED]'
Objet : RE: [linux] Perl module


Bonjour,

puisque tu n'a pas cr�e d'objet dans ton module, il vaudrait mieux
appeler les fonctions

de ton module comme ceci : library::nom_fonction

de plus, si tu veux pouvoir utiliser les fonctions de ton module, tu
dois d�commenter

les lignes suivantes : 

#require Exporter;
[EMAIL PROTECTED] = qw(Exporter);


-----Original Message-----
From: Dominique Gallot [mailto:[EMAIL PROTECTED]
Sent: vendredi 1 ao�t 2003 9:23
To: [EMAIL PROTECTED]
Subject: Re: [linux] Perl module



C'est normal le #!/usr/bin/parl -s -P ??? perl non ?

Les erreur se trouve � la ligne 4 et 6

$bis=&library'anneebissextile("2003");
$str2 = &library'trim($str);

pq le ' ????
je suis pas un pro de perl, mais c'est pas la syntax pour appeler un fct
d'un package perl. c'est plutot un truc du genre library-->trim non ?

Dominique



 

                      <[EMAIL PROTECTED]

                      om.net>                     To:
<[EMAIL PROTECTED]>

                      Sent by:                    cc:       (bcc:
Dominique
Gallot/BRU/MASTERCARD)                                              
                      [EMAIL PROTECTED]        Subject:  [linux] Perl
module                                                                 
                      unixtech.be

 

 

                      31/07/2003 23:07

                      Please respond to

                      linux

 

 





Salut la liste !

J'ecrit un pgm pour comptabilise mes connection internet (temp, bytes
send, ...) Pour plus de facilit� j'ai plac� qque prc�dure dans un module

Mais voil� !

:~/dvpt/projets/ppp# ./comstat
:4: unterminated character constant
:6: unterminated character constant
0
Thu Jul 31 20:27:17 CEST 2003


Question comment expliquez vous les deux premi�re lignes ? Comment y
rem�dier ?

Merci � tous


En attachement mes source

Debut de library.pm

#!/usr/bin/parl -s -P
########################################################################
#######
# library.pm v 0.1
#
########################################################################
#######
package library;
#require Exporter;
[EMAIL PROTECTED] = qw(Exporter);
@EXPORT_OK = qw();
@EXPORT    = qw( trimg trimd trim squeeze gettime mega datecurrent
erasefile datetoday strtotime anneebissextile modulo4);

########################################################################
#######

sub trimg()
#trim gauche de $imput. effacement de TOUT les blancs en DEBUT de
ligne..

{
 my ($var) = @_;

 $var =~ s/^ +//;
 return ($var);
}

sub trimd()
#trim droite de $imput. effacement de TOUT les blancs en FIN de ligne. {
my ($var) = @_;

 $input =~ s/ +$//;
 return ($var);
}

sub trim()
#trim de $imput. effacement de TOUT les blancs en FIN et DEBUT de
ligne..

{
 my ($var) = @_;

 $var =&trimg(&trimd($var));
 return ($var);
}

sub squeeze()
# �limine toutes les s�quences de blanc
{
 my ($var) = @_;
 $var =~ s/  / /;
 if ( $var =~ /  / )
 {
  $var = &squeeze($var);
 }
 return($var);
}

sub gettime
#Formate et renvoie la date system
{
 ($ss, $mm, $hh, $jj, $MM, $aa, $se, $nb, $cest)= localtime(time);  $aa
= $aa + 1900;  if ( $cest = 1 )  {
  $cest="Heure d'�t�";
 }
 else
 {
  $cest="Heure d'hiver";
 }
 @date=($ss, $mm, $hh, $jj, $MM, $aa, $se, $nb, $cest);
 return (@date);
}

sub datetoday()
# calcule le nombre de jours entiers �coul� entre la 1 du 1 1970 et une
date (ex: Mon Jul 28 16:59:11 CEST 2003) {  my ($var) = @_;  my
(@mois)=("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","No
v","Dec");
 my (@jour)=(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);  my
($name_of_day, $name_of_month, $number_of_day, $time_string, $fuseau,
$year);  my ($year_ref) = 1970;  my ($temp) = &trim(@_);  my ($cpt)  =
$year_ref;  my ($reste, $bissextile, $normal, $i ) = (0, 0, 0, 0 );  my
($stjours, $retval) = (0, 0 );

 # Total des ann�es en jours
 ($name_of_day, $name_of_month, $number_of_day, $time_string, $fuseau,
$year)= split(/ /,$temp);  for ($cpt=1970;$cpt<$year;$cpt++)  {
  $i = 0;
  $i = &anneebissextile($cpt);
  if ( $i == 0 )
  {
   $normal++;
  }
  else
  {
   $bissextile++;
  }
 }

 # Total des mois et des jours en jours
 for ( $i=1; $name_of_day eq $jour[$i]; $i++ )
 {
  $stjours = $stjours + $jour[$i];
 }
 if ( $i > 2 )
 {
  $stjours = $stjours + &anneebissextile($year) + ( $number_of_day - 1)
;  }  else  {
  $stjours = $stjours + ( $number_of_day - 1) ;
 }

 $retval = ($normal * 365 ) + ( $bissextile * 366 ) + $stjours;

 return ($retval);
}

sub strtotime()
# calcule le nombre de seconde �couler entre la 1 du 1 1970 et une date
(ex: Mon Jul 28 16:59:11 CEST 2003)
{

 my ($var) = @_;
 my ($day)   = 86400;
 my ($hour)  = 3600;
 my ($year_ref) = 1970;
 my ($temp) = &trim(@_);
 my ($stjours, $stsecondes, $tsecondes) =( 0, 0, 0);
 my ($anneejours) = 0;
 my ($heures, $minut, $sec) = (0, 0, 0 );
 my ($name_of_day, $name_of_month, $number_of_day, $time_string,
$fuseau, $year);

 ($name_of_day, $name_of_month, $number_of_day, $time_string, $fuseau,
$year)= split(/ /,$temp);  # Total des ann�es en jours  $anneejours =
&datetoday($temp);

 # Total des heures, des minutes et des secondes en secondes  ($heures,
$minut, $sec) = split(/:/,$time_string);  $stsecondes = ( $heures *
$hour ) + ( $minut * 60 ) + $sec;

 $tsecondes = ( ( $anneejours + $stjours ) * $day + $stsecondes);

 return($stsecondes);
}

sub anneebissextile()
# ann�e bisextile ?
# si l'ann�e est bissextile la fonction retourne 1
# si l'ann�e n'est pas bissextile la fonction retourne 0

{
 my ($var)[EMAIL PROTECTED];
 my ($reste) = 0;
 my ($retval) = 0;
 my ($siecle) = 0;

 $reste = $var % 100;
 $siecle = $var - $reste;
 if ( $reste == 0 )
 {
   $reste = &modulo4($siecle);
   if ( $reste == 0 )
   {
    $retval++;
   }
 }
 else
 {
   $reste = &modulo4($var);
   if ( $reste == 0 )
   {
    $retval++;
   }
 }
 return ($retval);
}

sub modulo4()
# calcule le reste de la division par 4
{
 my ($var) = @_;
 my ($reste) = 0;

 $reste = $var % 4;
 return ($reste);
}

sub mega()
{
 my ($temp)[EMAIL PROTECTED];
 my ($temp2);
 my ($poids)="";
 if ($temp <= 1048576 )
 {
  $temp = $temp / 1024;
  $poids ="ko";
 }
 else
 {
  $temp = $temp / 1048576;
  $poids ="Mo";
 }
 $temp2="$temp $poids";
 return ($temp2);
}

sub datecurrent()
{
 my (@listecur);
 my ($ligne)="";
 $ligne=&squeeze(&trim(@_));
 @listecur=split(/ /,$ligne);

# print("day title: ".$listecur[0]."\n");
# print("Month: ".$listecur[1]."\n");
# print("day Number: ".$listecur[2]."\n");
# print("time: ".$listecur[3]."\n");
# print("saison: ".$listecur[4]."\n");
# print("year: ".$listecur[5]."\n");
 return (@listecur);
}

sub erasefile()
{
 my ($file)[EMAIL PROTECTED];
 system ("/bin/rm $file");
}

sub senddebug()
{
 print "Debug: @_\n";
}

sub sendecho()
{
 print "flag: @_\n";
}



Debut comstat file

#!/usr/bin/perl -s -P
########################################################################
#######
# comstat v 0.1
#
########################################################################
#######
use library;
$str="  Thu Jul 31 20:27:17 CEST 2003";
$bis=3;
$bis=&library'anneebissextile("2003");
print "$bis\n";
$str2 = &library'trim($str);
print ("$str2\n");


_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
IRC: efnet.unixtech.be:6667 - #unixtech






-----------------------------------------
CONFIDENTIALITY NOTICE
This E-mail message and any documents which accompany it are intended
only for the use of the individual or entity to which addressed, and may
contain information that is privileged, confidential or exempt from
disclosure under applicable law.  If the reader is not the intended
recipient, any disclosure, distribution or other use of this E-mail
message is prohibited. If you have received this E-mail message in
error, please delete and notify the sender immediately.  Thank you.


_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
IRC: efnet.unixtech.be:6667 - #unixtech



"Dit e-mailbericht en alle documenten die ermee verzonden worden, zijn
vertrouwelijk en uitsluitend voor gebruik door de persoon of de
onderneming waaraan ze geadresseerd zijn. Indien deze e-mail
verkeerdelijk bij u terechtkomt, gelieve de afzender te verwittigen en
deze bestanden van uw computer te verwijderen.

Ce message e-mail ainsi que tous les fichiers transmis sont
confidentiels et uniquement destin�s � l'usage de la personne ou de
l'entit� � qui ils sont adress�s. Si vous avez re�u ce message e-mail
par erreur, veuillez en informer l'exp�diteur et le supprimer de tout
ordinateur."

_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
IRC: efnet.unixtech.be:6667 - #unixtech


_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/[EMAIL PROTECTED]
IRC: efnet.unixtech.be:6667 - #unixtech

Répondre à