j'ai un fichier texte (convertion pdf/texte faite avec automator) que
j'ai du mal à lire.
le dump du début du fichier donne :
00000000: FF FE 4C 00 6F 00 6F 00 ..L.o.o.
00000008: 6B 00 69 00 6E 00 67 00 k.i.n.g.
00000010: 20 00 66 00 6F 00 72 00 .f.o.r.
00000018: 20 00 52 00 65 00 61 00 .R.e.a.
00000020: 6C 00 20 00 45 00 78 00 l. .E.x.
...
il semblere donc que se soit du 'UTF-16 Little Endian' puisque le
fichier commence avec FF FE.
je lis le fichier de cette manière :
open(FH, "< :encoding(UTF-16)", $fileName)
or die "Error openning $fileName: $!\n";
while (<FH>) {
chomp;
print ">>$_\n";
}
ce qui donne :
>>Looking for Real Exam Questions for IT Certification Exams!
We guarantee you can pass any IT certification exam at your first
attempt with just 10-12
hours study of our guides.
Our study guides contain actual exam questions, you will get word to
word same on your actual test; accurate answers with detailed
explanation verified by experts and all graphics and drag-n-drop
exhibits shown just as on the real test.
To test the quality of our guides, you can download the one-fourth
portion of any guide from http://www.certificationking.com absolutely free.
...
à chaque boucle, plusieurs lignes sont lues dans le fichier.
le CR semble ignoré. pourtant le dump montre bien un CR(0x0D) à la fin
de chaque ligne :
00000070: 61 00 6D 00 73 00 21 00 a.m.s.!.
00000078: 0D 00 57 00 65 00 20 00 ..W.e. .
^^
donc, comment ligne ligne par ligne un fichier en UTF-16 ?
autre problème, à l'execution du perl, il y a des tas d'erreur du genre:
Wide character in print <FH> line X.
perl n'aime pas certain caracteres ?
À (at) 02 Jun 2014 23:31:24 GMT, Nicolas George <nicolas$ écrivait (wrote):
Paul Gaborit , dans le message , a écrit :
C'est un Unix (pas plus pseudo que n'importe quel Linux ou *BSD)
Assez peu respectueux des standards, à part quand apple graisse les rouage des comités de certification. Et absolument pas respectueux des usages.
La plupart des autres grandes entreprises qui développent un ou des OS ne sont pas plus reluisantes sur ces aspects à en croire ce qui se raconte (mais tout cela est-il vrai ?).
Au passage, rien ne l'interdit même en dehors d'un Mac. C'est une convention comme une autre pour un fichier texte.
Non. Un fichier texte au sens Unix, et partant au sens Perl, est formé de lignes (de moins de 1024 caractères) terminées par LF. C'est spécifiquement défini. Les applications standard de la toolbox Unix ne sont pas tenues d'être capables de digérer quoi que ce soit d'autres, même si c'est évidemment mieux qu'elles le soient.
C'est vraiment n'importe quoi !
Perl n'est pas un langage destiné uniquement à Unix. Et même si c'était le cas, son but initial est d'être capable de lire tous les fichiers textes sans faire d'ostracisme à deux balles basé sur des choix arbitraires qu'il faudrait défendre becs et ongles. En informatique, l'intégrisme n'est pas une bonne valeur.
Au passage, sur Internet, la plupart des protocoles réseau textuels utilisent le CRLF comme fin de lignes. Et pourtant, ils n'ont pas été conçu par Microsoft !
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
À (at) 02 Jun 2014 23:31:24 GMT,
Nicolas George <nicolas$george@salle-s.org> écrivait (wrote):
Paul Gaborit , dans le message <wt9k38zdjwl.fsf@mirabeau.mines-albi.fr>,
a écrit :
C'est un Unix (pas plus pseudo que n'importe quel Linux ou *BSD)
Assez peu respectueux des standards, à part quand apple graisse les rouage
des comités de certification. Et absolument pas respectueux des usages.
La plupart des autres grandes entreprises qui développent un ou des OS
ne sont pas plus reluisantes sur ces aspects à en croire ce qui se
raconte (mais tout cela est-il vrai ?).
Au passage, rien ne l'interdit même en
dehors d'un Mac. C'est une convention comme une autre pour un fichier
texte.
Non. Un fichier texte au sens Unix, et partant au sens Perl, est formé de
lignes (de moins de 1024 caractères) terminées par LF. C'est spécifiquement
défini. Les applications standard de la toolbox Unix ne sont pas tenues
d'être capables de digérer quoi que ce soit d'autres, même si c'est
évidemment mieux qu'elles le soient.
C'est vraiment n'importe quoi !
Perl n'est pas un langage destiné uniquement à Unix. Et même si c'était
le cas, son but initial est d'être capable de lire tous les fichiers
textes sans faire d'ostracisme à deux balles basé sur des choix
arbitraires qu'il faudrait défendre becs et ongles. En informatique,
l'intégrisme n'est pas une bonne valeur.
Au passage, sur Internet, la plupart des protocoles réseau textuels
utilisent le CRLF comme fin de lignes. Et pourtant, ils n'ont pas été
conçu par Microsoft !
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
À (at) 02 Jun 2014 23:31:24 GMT, Nicolas George <nicolas$ écrivait (wrote):
Paul Gaborit , dans le message , a écrit :
C'est un Unix (pas plus pseudo que n'importe quel Linux ou *BSD)
Assez peu respectueux des standards, à part quand apple graisse les rouage des comités de certification. Et absolument pas respectueux des usages.
La plupart des autres grandes entreprises qui développent un ou des OS ne sont pas plus reluisantes sur ces aspects à en croire ce qui se raconte (mais tout cela est-il vrai ?).
Au passage, rien ne l'interdit même en dehors d'un Mac. C'est une convention comme une autre pour un fichier texte.
Non. Un fichier texte au sens Unix, et partant au sens Perl, est formé de lignes (de moins de 1024 caractères) terminées par LF. C'est spécifiquement défini. Les applications standard de la toolbox Unix ne sont pas tenues d'être capables de digérer quoi que ce soit d'autres, même si c'est évidemment mieux qu'elles le soient.
C'est vraiment n'importe quoi !
Perl n'est pas un langage destiné uniquement à Unix. Et même si c'était le cas, son but initial est d'être capable de lire tous les fichiers textes sans faire d'ostracisme à deux balles basé sur des choix arbitraires qu'il faudrait défendre becs et ongles. En informatique, l'intégrisme n'est pas une bonne valeur.
Au passage, sur Internet, la plupart des protocoles réseau textuels utilisent le CRLF comme fin de lignes. Et pourtant, ils n'ont pas été conçu par Microsoft !
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
Nicolas George
Paul Gaborit , dans le message , a écrit :
La plupart des autres grandes entreprises qui développent un ou des OS ne sont pas plus reluisantes sur ces aspects à en croire ce qui se raconte (mais tout cela est-il vrai ?).
Si on regarde les détails techniques, qui se manifestent essentiellement par le nombre de workarounds dans les différents codes libres qu'on peut étudier destinés à contourner des entorses aux standards pour faire fonctionner les logiciels sous différents OS, il n'y a pas photo : les Unix libres sont largement plus respectueux des standards que celui d'apple.
C'est vraiment n'importe quoi !
Perl n'est pas un langage destiné uniquement à Unix. Et même si c'était le cas, son but initial est d'être capable de lire tous les fichiers textes sans faire d'ostracisme à deux balles basé sur des choix arbitraires qu'il faudrait défendre becs et ongles. En informatique, l'intégrisme n'est pas une bonne valeur.
Perl est parfaitement capable de gérer des fichiers de n'importe quelle forme, mais ses structures syntaxiques et ses réglage par défaut sont prévus pour des fichiers texte au sens Unix, c'est un fait.
Au passage, sur Internet, la plupart des protocoles réseau textuels utilisent le CRLF comme fin de lignes. Et pourtant, ils n'ont pas été conçu par Microsoft !
Et c'est aussi une source d'ennuis sans fin. Tu noteras en outre que dans ce cas, la plupart du temps c'est bien le LF qui sert de délimiteur, le CR étant plus ou moins optionnel et essentiellement traité comme de l'espace inutile.
Paul Gaborit , dans le message <wt9vbsi95hr.fsf@mirabeau.mines-albi.fr>,
a écrit :
La plupart des autres grandes entreprises qui développent un ou des OS
ne sont pas plus reluisantes sur ces aspects à en croire ce qui se
raconte (mais tout cela est-il vrai ?).
Si on regarde les détails techniques, qui se manifestent essentiellement par
le nombre de workarounds dans les différents codes libres qu'on peut étudier
destinés à contourner des entorses aux standards pour faire fonctionner les
logiciels sous différents OS, il n'y a pas photo : les Unix libres sont
largement plus respectueux des standards que celui d'apple.
C'est vraiment n'importe quoi !
Perl n'est pas un langage destiné uniquement à Unix. Et même si c'était
le cas, son but initial est d'être capable de lire tous les fichiers
textes sans faire d'ostracisme à deux balles basé sur des choix
arbitraires qu'il faudrait défendre becs et ongles. En informatique,
l'intégrisme n'est pas une bonne valeur.
Perl est parfaitement capable de gérer des fichiers de n'importe quelle
forme, mais ses structures syntaxiques et ses réglage par défaut sont prévus
pour des fichiers texte au sens Unix, c'est un fait.
Au passage, sur Internet, la plupart des protocoles réseau textuels
utilisent le CRLF comme fin de lignes. Et pourtant, ils n'ont pas été
conçu par Microsoft !
Et c'est aussi une source d'ennuis sans fin. Tu noteras en outre que dans ce
cas, la plupart du temps c'est bien le LF qui sert de délimiteur, le CR
étant plus ou moins optionnel et essentiellement traité comme de l'espace
inutile.
La plupart des autres grandes entreprises qui développent un ou des OS ne sont pas plus reluisantes sur ces aspects à en croire ce qui se raconte (mais tout cela est-il vrai ?).
Si on regarde les détails techniques, qui se manifestent essentiellement par le nombre de workarounds dans les différents codes libres qu'on peut étudier destinés à contourner des entorses aux standards pour faire fonctionner les logiciels sous différents OS, il n'y a pas photo : les Unix libres sont largement plus respectueux des standards que celui d'apple.
C'est vraiment n'importe quoi !
Perl n'est pas un langage destiné uniquement à Unix. Et même si c'était le cas, son but initial est d'être capable de lire tous les fichiers textes sans faire d'ostracisme à deux balles basé sur des choix arbitraires qu'il faudrait défendre becs et ongles. En informatique, l'intégrisme n'est pas une bonne valeur.
Perl est parfaitement capable de gérer des fichiers de n'importe quelle forme, mais ses structures syntaxiques et ses réglage par défaut sont prévus pour des fichiers texte au sens Unix, c'est un fait.
Au passage, sur Internet, la plupart des protocoles réseau textuels utilisent le CRLF comme fin de lignes. Et pourtant, ils n'ont pas été conçu par Microsoft !
Et c'est aussi une source d'ennuis sans fin. Tu noteras en outre que dans ce cas, la plupart du temps c'est bien le LF qui sert de délimiteur, le CR étant plus ou moins optionnel et essentiellement traité comme de l'espace inutile.
Paul Gaborit
À (at) 03 Jun 2014 05:33:05 GMT, Nicolas George <nicolas$ écrivait (wrote):
Paul Gaborit , dans le message , a écrit :
La plupart des autres grandes entreprises qui développent un ou des OS ne sont pas plus reluisantes sur ces aspects à en croire ce qui se raconte (mais tout cela est-il vrai ?).
Si on regarde les détails techniques, qui se manifestent essentiellement par le nombre de workarounds dans les différents codes libres qu'on peut étudier destinés à contourner des entorses aux standards pour faire fonctionner les logiciels sous différents OS, il n'y a pas photo : les Unix libres sont largement plus respectueux des standards que celui d'apple.
Je réponds sur un point (le graissage des rouages par les entreprises) mais tu argumentes sur un autre (la compatibilité).
Ce dernier argument mériterait d'être étayé : combien reste-t-il d'Unix propriétaires réellement distribués en plus de Mac OS X ? Y a-t-il réellement plus de code spécifique à Mac OS X qu'à Linux ou à l'un des *BSD ?
C'est vraiment n'importe quoi !
Perl n'est pas un langage destiné uniquement à Unix. Et même si c'était le cas, son but initial est d'être capable de lire tous les fichiers textes sans faire d'ostracisme à deux balles basé sur des choix arbitraires qu'il faudrait défendre becs et ongles. En informatique, l'intégrisme n'est pas une bonne valeur.
Perl est parfaitement capable de gérer des fichiers de n'importe quelle forme, mais ses structures syntaxiques et ses réglage par défaut sont prévus pour des fichiers texte au sens Unix, c'est un fait.
Encore une fois, c'est faux. Lire 'perlport' pour comprendre que Perl s'adapte au système sur lequel il est installé. Quant à la syntaxe... que vient-elle faire ici ?
Au passage, sur Internet, la plupart des protocoles réseau textuels utilisent le CRLF comme fin de lignes. Et pourtant, ils n'ont pas été conçu par Microsoft !
Et c'est aussi une source d'ennuis sans fin. Tu noteras en outre que dans ce cas, la plupart du temps c'est bien le LF qui sert de délimiteur, le CR étant plus ou moins optionnel et essentiellement traité comme de l'espace inutile.
Ce n'est pas le CR ou le CRLF qui sont sources d'ennuis. C'est le fait qu'à chaque fois qu'un choix arbitraire existe, on est sûr de rencontrer tous les choix possibles. Et cette situation n'est pas imputable à tel ou tel. C'est comme le "Little Endian" et le "Big Endian". Les deux existent, c'est un fait... Mais il n'y en a pas un qui est mieux (ou plus normal) que l'autre !
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
À (at) 03 Jun 2014 05:33:05 GMT,
Nicolas George <nicolas$george@salle-s.org> écrivait (wrote):
Paul Gaborit , dans le message <wt9vbsi95hr.fsf@mirabeau.mines-albi.fr>,
a écrit :
La plupart des autres grandes entreprises qui développent un ou des OS
ne sont pas plus reluisantes sur ces aspects à en croire ce qui se
raconte (mais tout cela est-il vrai ?).
Si on regarde les détails techniques, qui se manifestent essentiellement par
le nombre de workarounds dans les différents codes libres qu'on peut étudier
destinés à contourner des entorses aux standards pour faire fonctionner les
logiciels sous différents OS, il n'y a pas photo : les Unix libres sont
largement plus respectueux des standards que celui d'apple.
Je réponds sur un point (le graissage des rouages par les entreprises)
mais tu argumentes sur un autre (la compatibilité).
Ce dernier argument mériterait d'être étayé : combien reste-t-il d'Unix
propriétaires réellement distribués en plus de Mac OS X ? Y a-t-il
réellement plus de code spécifique à Mac OS X qu'à Linux ou à l'un des
*BSD ?
C'est vraiment n'importe quoi !
Perl n'est pas un langage destiné uniquement à Unix. Et même si c'était
le cas, son but initial est d'être capable de lire tous les fichiers
textes sans faire d'ostracisme à deux balles basé sur des choix
arbitraires qu'il faudrait défendre becs et ongles. En informatique,
l'intégrisme n'est pas une bonne valeur.
Perl est parfaitement capable de gérer des fichiers de n'importe quelle
forme, mais ses structures syntaxiques et ses réglage par défaut sont prévus
pour des fichiers texte au sens Unix, c'est un fait.
Encore une fois, c'est faux. Lire 'perlport' pour comprendre que Perl
s'adapte au système sur lequel il est installé. Quant à la
syntaxe... que vient-elle faire ici ?
Au passage, sur Internet, la plupart des protocoles réseau textuels
utilisent le CRLF comme fin de lignes. Et pourtant, ils n'ont pas été
conçu par Microsoft !
Et c'est aussi une source d'ennuis sans fin. Tu noteras en outre que dans ce
cas, la plupart du temps c'est bien le LF qui sert de délimiteur, le CR
étant plus ou moins optionnel et essentiellement traité comme de l'espace
inutile.
Ce n'est pas le CR ou le CRLF qui sont sources d'ennuis. C'est le fait
qu'à chaque fois qu'un choix arbitraire existe, on est sûr de rencontrer
tous les choix possibles. Et cette situation n'est pas imputable à tel
ou tel. C'est comme le "Little Endian" et le "Big Endian". Les deux
existent, c'est un fait... Mais il n'y en a pas un qui est mieux (ou
plus normal) que l'autre !
--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Perl en français - <http://perl.mines-albi.fr/>
À (at) 03 Jun 2014 05:33:05 GMT, Nicolas George <nicolas$ écrivait (wrote):
Paul Gaborit , dans le message , a écrit :
La plupart des autres grandes entreprises qui développent un ou des OS ne sont pas plus reluisantes sur ces aspects à en croire ce qui se raconte (mais tout cela est-il vrai ?).
Si on regarde les détails techniques, qui se manifestent essentiellement par le nombre de workarounds dans les différents codes libres qu'on peut étudier destinés à contourner des entorses aux standards pour faire fonctionner les logiciels sous différents OS, il n'y a pas photo : les Unix libres sont largement plus respectueux des standards que celui d'apple.
Je réponds sur un point (le graissage des rouages par les entreprises) mais tu argumentes sur un autre (la compatibilité).
Ce dernier argument mériterait d'être étayé : combien reste-t-il d'Unix propriétaires réellement distribués en plus de Mac OS X ? Y a-t-il réellement plus de code spécifique à Mac OS X qu'à Linux ou à l'un des *BSD ?
C'est vraiment n'importe quoi !
Perl n'est pas un langage destiné uniquement à Unix. Et même si c'était le cas, son but initial est d'être capable de lire tous les fichiers textes sans faire d'ostracisme à deux balles basé sur des choix arbitraires qu'il faudrait défendre becs et ongles. En informatique, l'intégrisme n'est pas une bonne valeur.
Perl est parfaitement capable de gérer des fichiers de n'importe quelle forme, mais ses structures syntaxiques et ses réglage par défaut sont prévus pour des fichiers texte au sens Unix, c'est un fait.
Encore une fois, c'est faux. Lire 'perlport' pour comprendre que Perl s'adapte au système sur lequel il est installé. Quant à la syntaxe... que vient-elle faire ici ?
Au passage, sur Internet, la plupart des protocoles réseau textuels utilisent le CRLF comme fin de lignes. Et pourtant, ils n'ont pas été conçu par Microsoft !
Et c'est aussi une source d'ennuis sans fin. Tu noteras en outre que dans ce cas, la plupart du temps c'est bien le LF qui sert de délimiteur, le CR étant plus ou moins optionnel et essentiellement traité comme de l'espace inutile.
Ce n'est pas le CR ou le CRLF qui sont sources d'ennuis. C'est le fait qu'à chaque fois qu'un choix arbitraire existe, on est sûr de rencontrer tous les choix possibles. Et cette situation n'est pas imputable à tel ou tel. C'est comme le "Little Endian" et le "Big Endian". Les deux existent, c'est un fait... Mais il n'y en a pas un qui est mieux (ou plus normal) que l'autre !
-- Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/> Perl en français - <http://perl.mines-albi.fr/>
espie
Non, mais faut que t'arrete, la, Nicolas.
On parle de perl, hein, le langage qui a erige en devise "il y a plus d'une facon de faire les choses".
Okay, on a compris, pour toi, en dehors d'Unix, point de salut. Mais bon, on est dans fr.comp.lang.perl, pas fr.system.unix.bigot, alors sur ce cote-la, laisse les gens s'emmerder avec les OS qu'ils veulent et les formats de fichier qu'ils veulent.
1/ si ca se trouve, ils ont pas le choix; 2/ l'enorme interet de perl, c'est *precisement* de pouvoir bosser avec des trucs bizarres et de rester a peu pres sain d'esprit.
Non, mais faut que t'arrete, la, Nicolas.
On parle de perl, hein, le langage qui a erige en devise "il y a plus
d'une facon de faire les choses".
Okay, on a compris, pour toi, en dehors d'Unix, point de salut. Mais
bon, on est dans fr.comp.lang.perl, pas fr.system.unix.bigot, alors sur
ce cote-la, laisse les gens s'emmerder avec les OS qu'ils veulent et les
formats de fichier qu'ils veulent.
1/ si ca se trouve, ils ont pas le choix;
2/ l'enorme interet de perl, c'est *precisement* de pouvoir bosser avec
des trucs bizarres et de rester a peu pres sain d'esprit.
On parle de perl, hein, le langage qui a erige en devise "il y a plus d'une facon de faire les choses".
Okay, on a compris, pour toi, en dehors d'Unix, point de salut. Mais bon, on est dans fr.comp.lang.perl, pas fr.system.unix.bigot, alors sur ce cote-la, laisse les gens s'emmerder avec les OS qu'ils veulent et les formats de fichier qu'ils veulent.
1/ si ca se trouve, ils ont pas le choix; 2/ l'enorme interet de perl, c'est *precisement* de pouvoir bosser avec des trucs bizarres et de rester a peu pres sain d'esprit.