Copie d'une image via read() - Perl - Programmation
Marsh Posté le 09-03-2005 à 09:17:35
questions : pourquoi fais-tu un chomp() ?
pourquoi concatènes-tu en utilisant ">>" lors de l'ouverture de fichier ? Peut-être que les octects en trop sont dus à des anciens tests infructueux
Sinon il y a une manière plus élégante de recopier le contenu d'un fichier :
Code :
|
Marsh Posté le 09-03-2005 à 16:11:32
Réponses : euh..par erreur
Sinon merci beaucoup pour ton aide mais malheuresement, le problème reste le même, ça me génère toujours une image de 13'310 octets qui reste illisible, pareil avec tout autre type de fichier. Pour infos, j'utilise ActivePerl sous windows, au cas où ça pourrait jouer là-dedans mais je ne pense pas.
Marsh Posté le 09-03-2005 à 17:05:39
effectivement avec activeperl cela ne marche pas moi ca marche bien avec perl 5.005 sous solaris
Marsh Posté le 09-03-2005 à 20:08:14
aaah merci pospos, j'ignorais cette commande.
Merci beaucoup, ça marche bien maintenant.
Marsh Posté le 08-03-2005 à 23:15:40
Salut à tous,
j'ai un petit problème avec perl. J'essaie de copier une image en lisant
l'originale avec read() et en écrivant le tampon dans un nouveau fichier.
ça marche très bien pour les fichiers de type textes, mais pour les images
ou tout autre type de documents qui ne sont pas du texte, ça ne fonctionne
pas.
Voici le code :
#!/usr/local/bin/perl
my $fichier = "fisichella.jpg";
my $size = -s $fichier;
my $tampon;
my $taillelue;
open(FIC, "fisichella.jpg" );
$taillelue = read(FIC, $tampon, $size);
chomp($tampon);
close(FIC);
open(FIC2,">>fisicho.jpg" );
print(FIC2 $tampon);
close(FIC2);
à noter que l'image de base pèse 13'267 octets, et que celle générée par
ce code pèse 13'310 octets, je me demande bien d'où proviennent ces octets
supplémentaires.
Merci d'avance pour votre aide