Bonjour,
je dois recuperer toutes les données png d'un fichier dump .
(Ce fichier dump contient aussi pas mal d'autres type de metadonnées que je dois ignorer)
je suis un utilisateur occasionnel de Perl et pense procéder comme suit:
- ouvrir le fichier dump en mode binaire
- rechercher la 1ere occurence d'une signature png (\x89\x50\x4E\x47\x0D\x0A\x1A\x0A)
- ouvrir en ecriture le 1er fichier png
- ecrire dedans la signature
- continuer a lire le fichier dump et ecrire les données lues dans le fichier png jusqu'a ce que je touve la fin du dernier chunk des données png
(\x49\x45\x4E\x44\xAE\x42\x60\x82)
- fermer le 1er fichier png
- rechercher la 2ere occurence d'une signature png
- ouvrir en ecriture le 2nd fichier png
- ecrire dedans la signature ...
- ...etc... jusqu'a la fin du fichier.
1) Avant de m'engager dans le codage je voudrais savoir si cet algorithme vous semble réaliste ?
.
2) De plus , je n'ai pas bien compris comment on fait pour rechercher une occurence non fixée dans un fichier ouvert en mode binaire.
J'aurai tendance a faire comme je le ferai en en mode enregistrement
(bien sur en mode enreg ca ne marcherai pas à cause du CRLF)
my $pngsign='\x89\x50\x4E\x47\x0D\x0A\x1A\x0A';
if ( $ligne =~ /$pngsign/ ) {};
mais comment on gère la boucle de lecture dans ce cas ?
Cordialement
Partager