Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Download FTP en Perl ? et Comparaison

1 réponse
Avatar
Mylene Sigod
Bonjour,

1)
Actuellement j'ai un petit script perl qui utilise un system ("wget ...");
pour recuperer
un fichier sur le net disponible en download....

J'aimerais savoir si on peut le faire plus proprement et notamment controler
le bon deroulement
du download ? style sortir une erreur si un probleme survient (url qui
reponds pas, fichier inexistant etc ..)

2) Exist 'il une solution simple pour comparer deux fichiers textes afin
d'en sortir un seul sans doublon ?
actuellement j'ai deux fichiers texte, chacun est de format simple (1 nom et
prenom par ligne) j'aimerais les
regrouper automatiquement en un seul sans mettre des doubles noms

Merci d'avance

1 réponse

Avatar
Paul Gaborit
À (at) Wed, 27 Oct 2004 08:50:13 +0200,
"Mylene Sigod" écrivait (wrote):
Actuellement j'ai un petit script perl qui utilise un system ("wget ...");
pour recuperer un fichier sur le net disponible en download....

J'aimerais savoir si on peut le faire plus proprement et notamment controler
le bon deroulement du download ? style sortir une erreur si un probleme
survient (url qui reponds pas, fichier inexistant etc ..)


Le module LWP (et LWP::Simple) permet de faire cela pour du FTP, du HTTP...

2) Exist 'il une solution simple pour comparer deux fichiers textes afin
d'en sortir un seul sans doublon ?
actuellement j'ai deux fichiers texte, chacun est de format simple (1 nom et
prenom par ligne) j'aimerais les regrouper automatiquement en un seul sans
mettre des doubles noms


Si le contenu des deux fichiers tient en mémoire, c'est très simple. Il suffit
de passer par une table de hachage :

my %h;
foreach my $file ("fichier1.txt", "fichier2.txt") {
open my $f, "<", $file or die "pb avec '$file' : $!n";
while (<$f>) {
chomp;
$h{$_} = 1;
}
close $f;
}

foreach my $key (sort keys %h) {
print "$keyn";
}

Le résultat de la fusion sera affiché à l'écran. Il ne vous reste plus qu'à le
rediriger vers un nouveau fichier. Ce programme suppose quand même que les
doublons sont exactement identiques.

Si les fichiers sont gros, il faut utiliser une autre méthode pour ne pas tout
stocker en mémoire. Si les fichiers sont déjà triés, on peut utiliser une
méthode plus efficace (qui va plus vite et qui ne nécessite pas de tout
stocker en mémoire).

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>