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

Répondre à