Mjules a écrit :
la seule chose que tu vas arriver à faire, c'est péter ta distros
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