Précédent   Forum du club des développeurs et IT Pro > Autres langages > Perl > Langage
Langage Toutes vos questions sur les scripts Perl en général. Avant de poster, veuillez consulter les FAQs perl, les cours Perl, les critiques de livres et les sources Perl.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 29/10/2012, 20h45   #1
beware
Invité régulier
 
Inscription : novembre 2005
Messages : 80
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 80
Points : 7
Points : 7
Par défaut Information sur le "Séparateur de décimal" depuis perl

Bonjour,

je suis entrain d'écrire un script perl qui devra fonctionner sur plusieurs machine et dans plusieurs langues pour du processing de fichiers.

Et la question que je me pose, est la suivante :

Est-il possible depuis le script de connaitre la valeur du 'séparateur de décimal' configuré dans windows?

Merci
beware est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2012, 09h37   #2
nibroc
Membre actif
 
Homme Michel
Inscription : juillet 2009
Messages : 158
Détails du profil
Informations personnelles :
Nom : Homme Michel
Âge : 68
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 158
Points : 189
Points : 189
Bonjour,
Il me semble que la valeur du séparateur décimal se trouve dans le registre sous la clé :
HKEY_CURRENT_USER\ControlPanel\International
C'est la donnée associée à la valeur sDecimal
Maintenant il s'agit de savoir comment lire cette donnée en Perl
Peut-être quelqu'un connaît-il le module ou la fonction qui fait ça ?
Citation:
Envoyé par beware Voir le message
Bonjour,

je suis entrain d'écrire un script perl qui devra fonctionner sur plusieurs machine et dans plusieurs langues pour du processing de fichiers.

Et la question que je me pose, est la suivante :

Est-il possible depuis le script de connaitre la valeur du 'séparateur de décimal' configuré dans windows?

Merci
nibroc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2012, 10h16   #3
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 530
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 530
Points : 31 717
Points : 31 717
Bonjour,

Voici un programme fonctionnel :
Code :
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl
use strict;
use warnings;
 
my %RegHash;
use Win32::TieRegistry( TiedHash => \%RegHash );
use Data::Dumper;
my $Key = $RegHash{"HKEY_CURRENT_USER\\Control Panel\\International\\sDecimal"};
print "Separateur : '$Key'\n";
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/12/2012, 06h50   #4
elvivo
Membre régulier
 
Avatar de elvivo
 
Inscription : mai 2002
Messages : 105
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 105
Points : 71
Points : 71
Ou pour un version portable:
Code :
1
2
3
4
use strict;
use warnings;
use POSIX q/localeconv/;
print localeconv()->{decimal_point};
__________________
In code we trust !!
elvivo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/12/2012, 14h48   #5
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 638
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 638
Points : 3 085
Points : 3 085
Sur ma machine Win64, la version de djibril m'a donné la bonne valeur, et la version "portable" a donné le mauvais résultat (strawberry perl).
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2012, 22h00   #6
nibroc
Membre actif
 
Homme Michel
Inscription : juillet 2009
Messages : 158
Détails du profil
Informations personnelles :
Nom : Homme Michel
Âge : 68
Localisation : France

Informations forums :
Inscription : juillet 2009
Messages : 158
Points : 189
Points : 189
Même chose pour moi : ActivePerl Windows 7. Il faut dire que sur mon ordinateur, si je tape par exemple 1.5 dans une cellule Excel c'est 1,5 qui s'affiche. Avec la calculatrice, c'est pareil, je peux taper indifféremment sur le point ou sur la virgule, c'est la virgule qui s'affiche.
Citation:
Envoyé par Philou67430 Voir le message
Sur ma machine Win64, la version de djibril m'a donné la bonne valeur, et la version "portable" a donné le mauvais résultat (strawberry perl).
nibroc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2012, 23h05   #7
elvivo
Membre régulier
 
Avatar de elvivo
 
Inscription : mai 2002
Messages : 105
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 105
Points : 71
Points : 71
Et j'utilises ActivePerl sous Win7 64 et le separateur est bien '.' (j'utilise une version US).

Pour repondre je me suis base sur: http://perldoc.perl.org/perllocale.html
J'aurais surement du preciser que ce que je proposais se base sur le fait que l'OS respecte POSIX et dans le cas de windows, il a de la manip a faire (http://technet.microsoft.com/en-us/l.../cc754351.aspx).

Enfin bon, comme on dit dans ces cas la: chez moi ca marche
__________________
In code we trust !!
elvivo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2012, 10h04   #8
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 638
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 638
Points : 3 085
Points : 3 085
Ce que je voulais souligner, c'est qu'on ne peut pas dire que c'est portable
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2013, 13h28   #9
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 530
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 530
Points : 31 717
Points : 31 717
Un article a été rédigé pour la base de registre : http://www.developpez.net/forums/d13...ndows-en-perl/.
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h02.


 
 
 
 
Partenaires

Hébergement Web