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

