[résolu] MDK 10.1 : passer de Perl 5.8.5 => 5.8.4

MDK 10.1 : passer de Perl 5.8.5 => 5.8.4 [résolu] - Installation - Linux et OS Alternatifs

Marsh Posté le 28-02-2005 à 21:17:47    

Salut à tous,  
 
J'ai des soucis avec un script Perl qui tourne bien chez son auteur en 5.8.4,  
mais retourne une erreur chez moi (en 5.8.5).
 
Sous MDK 10.1, j'essaie de désinstaller mon perl 5.8.5, mais je n'arrive pas
 à localiser le package ( je ne le vois pas dans le gestionnaire), et donc à le supprimer.  
 
Ensuite, il faut que j'installe la version 5.8.4. A ce propos, savez-vous s'il existe
un package rpm ? (Sinon j'installerai le fichier perl-5.8.4.tar.bz2).  
 
Merci pour votre aide.


Message édité par kafifi le 28-02-2005 à 23:06:09
Reply

Marsh Posté le 28-02-2005 à 21:17:47   

Reply

Marsh Posté le 28-02-2005 à 21:19:30    

la seule chose que tu vas arriver à faire, c'est péter ta distros :spamafote:
 
la plupart des outils mandrake (urpmi, drakconf etc) sont écrits en perl.
 
essaye plutôt de comprendre pourquoi le script ne fonctionne pas chez toi


Message édité par Mjules le 28-02-2005 à 21:20:04

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 28-02-2005 à 21:37:54    

Mjules a écrit :

la seule chose que tu vas arriver à faire, c'est péter ta distros :spamafote:
 
la plupart des outils mandrake (urpmi, drakconf etc) sont écrits en perl.
 
essaye plutôt de comprendre pourquoi le script ne fonctionne pas chez toi


 
Salut Mjules,
Je voyais plutôt Perl comme un package, je ne pensais pas que c'était intégré à MDK.  
N'ayant aucune connaissance en Perl, je me permets de copier le script en question,  
au cas ou quelqu'un verrait un "loup".
 
D'avance merci.
 
=====================================================
#!/usr/bin/perl  
#  
$fichout = $ARGV[1];  
open(FICHOUT, "> $fichout" );  
open(INFO, $ARGV[0]);        
@lines = <INFO>;        
close(INFO);  
$h = 0;  
$i = 0;  
foreach $enregis (@lines)    
{  
   if ($i == 0)  
   {  
      if ($enregis =~ "<programme start=" ) {$i = 1;}  
      else {print FICHOUT "$enregis"}  
   }    
   elsif (($enregis =~ "<programme start=" ) || ($enregis =~ "<title" )) {print FICHOUT "$enregis";}  
   elsif ($enregis =~ "<date" )  
   {  
      $date = &Recup_Info("$enregis" );  
      if ($date ne "" )  
      {  
         $date = "Date : $date|";  
      }  
   }  
   elsif ($enregis =~ "<country" )  
   {  
      $country = &Recup_Info("$enregis" );  
      if ($country ne "" )   {$country = "Pays : $country|";   }  
   }  
   elsif ($enregis =~ "<category" )  
   {  
      $category = &Recup_Info("$enregis" );  
      if ($category ne "" ) {$category = "Type de programme : $category|";   }  
   }  
   elsif ($enregis =~ "<length" )  
   {  
      $length = &Recup_Info("$enregis" );        
      if ($length ne "" ) {$length = "Durée du programme : $length|";}        
   }  
   elsif ($enregis =~ "<actor" )  
   {  
      $actor_recup = &Recup_Info("$enregis" );          
      if ($actor_recup ne "" )  
      {  
         if ($k == 0)  
         {  
            $actor = "Acteur(s) : $actor_recup|";  
            $k++;  
         }  
         else {$actor = "$actor              $actor_recup|";}  
      }  
   }  
   elsif ($enregis =~ "<director" )  
   {  
      $director_recup = &Recup_Info("$enregis" );  
      if ($director_recup ne "" )  
      {  
         if ($l == 0)  
         {  
            $director = "Realisateur(s) : $director_recup|";  
            $l++;  
         }  
         else {$director = "$director                $director_recup|";}  
      }  
   }  
   elsif ($enregis =~ "<writer" )  
   {  
      $writer_recup = &Recup_Info("$enregis" );  
      if ($writer_recup ne "" )  
      {  
         if ($m == 0)  
         {  
            $writer = "Auteur(s) : $writer_recup|";  
            $m++;  
         }  
         else {$writer = "$writer             $writer_recup|";}  
      }  
   }  
   elsif ($enregis =~ "<desc" ) {$h = 1;}  
   elsif ($enregis =~ "</desc" ) {$h = 0;}  
   elsif ($h==1)  
   {  
      $enregis  =~ s/\s+$//;  
      if ($enregis ne "" ) {$desc = "$desc$enregis|"}  
   }    
   elsif ($enregis =~ "</programme>" )  
   {  
      $desc = "<desc lang = \"fr\">$category$date$length$country$writer$director$actor||Résumé:|$desc</desc>";  
      print FICHOUT "$desc\n</programme>\n";  
 
      $k = 0;  
      $l = 0;  
      $m = 0;  
      $date = "";  
      $country = "";  
      $category = "";  
      $length = "";  
      $actor = "";  
      $director = "";  
      $writer = "";  
      $desc = "";  
   }  
}  
       
sub Recup_Info  
{  
   @table_temp = split('>',"@_[0]" );  
   @table_temp2 = split('<',"@table_temp[1]" );  
   $Recup_Informations = @table_temp2[0];  
}
=====================================================


Message édité par kafifi le 28-02-2005 à 21:38:28
Reply

Marsh Posté le 28-02-2005 à 23:05:48    

Mjules a écrit :

la seule chose que tu vas arriver à faire, c'est péter ta distros :spamafote:
 
la plupart des outils mandrake (urpmi, drakconf etc) sont écrits en perl.
 
essaye plutôt de comprendre pourquoi le script ne fonctionne pas chez toi


 
 
Problème corrigé !  
Après avoir modifié mon script.pl comme suit :  
 
#!/usr/bin/perl  
print("My Script" );  
 
": No such file or directory.  
Use -S to search $PATH for it.  
 
=> même erreur ! J'en ai déduis un pb de fichier, sans pouvoir en déterminer la cause.  
 
Ayant un script2.pl fonctionnel, je l'ai dupliqué en script3.pl, puis ai collé l'intégralité du script1, et sauvegardé.  
 
Maintenant, mon script3.pl fonctionne parfaitement.  
 
Merci pour ton aide.  
 

Reply

Marsh Posté le 01-03-2005 à 16:13:21    

Pour info :
le package se nomme perl et perl-base.
 
rpm -qa | grep perl
 
http://www.linux-wizard.net/howto. [...] ages#verif


Message édité par Dark_Schneider le 01-03-2005 à 16:13:51

---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 01-03-2005 à 20:43:13    

Dark_Schneider a écrit :

Pour info :
le package se nomme perl et perl-base.
 
rpm -qa | grep perl
 
http://www.linux-wizard.net/howto. [...] ages#verif


 
Merci pour cette précision.  
Puis-je en conclure que Perl est géré comme un autre package :
choix de la version, suppression éventuelle... ?
 
Si tel est le cas, cela contredit le message de Mjules.
 

Reply

Marsh Posté le 01-03-2005 à 20:44:53    

ça ne me contredit pas ;) perl est effectivement un paquet comme un autre (le kernel linux est aussi un "simple" paquet). ça n'enlève rien au fait que tout les outils de Mandrake sont écris en Perl et que je me garderais bien de toucher à ça si je ne sais pas exactement ce que je fais.


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
Reply

Marsh Posté le 02-03-2005 à 20:16:25    

Mjules a écrit :

ça ne me contredit pas ;) perl est effectivement un paquet comme un autre (le kernel linux est aussi un "simple" paquet). ça n'enlève rien au fait que tout les outils de Mandrake sont écris en Perl et que je me garderais bien de toucher à ça si je ne sais pas exactement ce que je fais.


 
C'est noté.
A+

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed