Aller au contenu
Règlement du forum ×
IPTV et arnaques ×

[Perl] Afficher les Accents


hotsauce3

Messages recommandés

Bonjours,

bon voila j'ai un script qui consiste a récupérer des mot depuis un fichier texte et les affiche dans la console, mais j'ai un problème avec les caractères accentuer qui ne s'affiche pas correctement . j'ai fais une recherche sur google mais j'ai rien trouver qui marche

alors si vous avez une idée merci de la partager :)

 

ps: je suis sous Windows

Modifié par hotsauce3
Lien vers le commentaire
Partager sur d’autres sites

#!/usr/bin/perl -w
use strict;
use warnings;
use utf8;
use experimental 'smartmatch';


my @words;
open (my $inFile, '

while () {
chomp;
@words = split /[:,\s\/\'\;]+/; #regex

foreach my $w (@words) {lemm($w);}
}


close ($inFile);


sub lemm {
my $cons = 3 ; my $succ =0 ; my $i = 0;
my ($word) = @_; # recuperer le mot
chomp $word;


#traitement 
print  $word ." -> ".  substr  $word ,0,$i."";
print "\n"


}


voila le script

le fichier texte c'est juste des mots aléatoire

Lien vers le commentaire
Partager sur d’autres sites

J'ai pas trop compris le script, je ne fais pas du perl.

 

Pour le fichier texte, faudrait voir la structure, est-ce un mot par ligne? Des mots qui se suivent? séparés par une virgule ou autre etc. Aussi lorsque tu les envoies sur la console, voudrais tu les envoyer à la suite ou suivis d'un espace etc. J'aimerai plus de détails.

 

En attendant je t'ai fait un petit script (vu que je vais dormir maintenant), je vais supposer que ton fichier texte contient plusieurs lignes, le script va compter le nombre de ligne, et les enverra sur la console suivie d'un espace.

 

Version ".exe"

https://www.dropbox.com/s/xf4g58obxgzqpxo/Draft.rar?dl=0

 

Version ".au3" (que tu peux ouvrir avec le notepad)

https://www.dropbox.com/s/fw5khxu77iasxpr/Draft.au3?dl=0

 

Attention:

Le fichier texte doit être dans le même dossier que l'exe.

Pour ce brouillon le fichier texte doit être nommé (test.txt) que tu pourras changer selon ton fichier.

 

Pour effectuer les changement je te mets le code:

#include 





$nb_line = _FileCountLines(@ScriptDir&"\test.txt")
Run("cmd.exe")
For $i = 1 to $nb_line


$string = FileReadLine(@ScriptDir&"\test.txt", $i)
WinWaitActive("Administrateur : C:\Windows\system32\cmd.exe")
Send($string&" ")


Next

 

Tu peux modifier le nom su fichier texte et le plus important, "Le titre de la fenêtre cmd, chez moi c'est Administrateur : C:\Windows\system32\cmd.exe

 

Et pour compiler le script en .exe

https://www.dropbox.com/s/y47oaijm1pwu1ix/Aut2Exe.rar?dl=0

 

Tu lances le programme, tu pointe vers le code .au3 et tu compile en .exe

 

Si c'est autre chose, on verra demain :)

Lien vers le commentaire
Partager sur d’autres sites

Donc ça ne vient pas du script , puisque chez moi ça fonctionne avec les accents, ça peut venir de l'encodage du DOS. C'est un problème récurent surtout sous XP, j'ai fait une recherche sur le net, il parait que l'encodage que tu dois mettre sur le script que t'a mis en haut (use utf-8;) doit correspondre à l'encodage su script.

 

Voici un topic qui traite de ce sujet:

http://www.developpez.net/forums/d777858/autres-langages/perl/langage/console-dos-accents/

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...