binmode sur le descripteur fonctionne en effet tr�s bien pour WIN32 et solutionne ton probl�me de fa�on propre (par rapport � l'OS)
Il n'a aucun effet sous Unix ou sous des OS qui utilise un seul caract�re pour la fin des lignes. Puisque binmode ne prends en cas que les \r\n et le EOF qui est marqu� avec un control Z. -- Alexandre Dulaunoy http://www.foo.be/ AD993-RIPE http://www.ael.be/ "People who fight may lose. People who do not fight have already lost." - Bertolt Brecht On Wed, 5 Jun 2002, Alain EMPAIN wrote: > Bonjour tout le monde, > > je n'ai pas l'habitude de faire du r�tro-portage, mais pour faire plaisir � > un coll�gue (utilisant NT), je lui ai donn� un script perl d�velopp� sous > Linux. > > Cela coince au niveau de la lecture d'un fichier binaire (> 100 KB) : la > lecture > while ( read(ABI,$buf,1000) ) { } > stoppe apr�s 3112 bytes. > > J'ai de vieux souvenirs du CP/M et de DOS, o� CTRL-Z servait de marqueur de > fin de fichier : en effet en position 3112, il y a '1A' hex : incroyable mais > vrai. > > A tout hasard, j'ai essay� 'sysread', qui donne le meme r�sultat. > > >-------------------------------------------------------------------------------------- > J'ai trouv�, mais cela vaut peut-etre la peine de partager la r�ponse : > > perl cookbook p 292-293 > > "This legacy of the old CP/M filesystem ... has frustrated programmers for > decades, an no end is in sight. Because DOS is compatible with CP/M file > formats, Windows with DOS, and NT with Windows, the sins of the fathers have > truly been visited unto the children of the fourth generation." > > La parade : d�clarer le file handle comme binaire avec > > 'binmode(ABI);' : sous Unix, Mac & Plan9, cela est inutile mais prend toute > son importance sous DOS, Win... > > >-------------------------------------------------------------------------------------- >

